C语言进制转换的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 17:31:54
请将下面各数用八进制数和十六进制数表示:
(1)75
解:(75)下标10=(133)下标8(4b)下标16
为什么十进制的75会等于十六进制的4b这是怎么算的
(2)-617十进制

解:(-617)下标10=(176627)下标8(fd97)下标16

负的要怎么算

老大,(75)下标10是(113)下标8吧?误导我半天……

这么算,十进制转化为八进制:
把10进制数除以8,一直除到值为0
75/8 = 9 余数 3
9/8 = 1 余数 1
1/8 = 0 余数 1 (这里值为零了)
那么答案就是余数倒着数,即113(8进制)

十进制转化为16进制:
同样,把10进制数除以16,一直除到值为0
75/16 = 4 余数 11
4/16 = 0 余数 4 (这里值为零了)
那么答案就是余数倒着数,即4 (11),即4b(16进制)