十进制怎么转化成十六进制?比如100.5该怎么算
发布网友
发布时间:2022-04-24 15:29
我来回答
共3个回答
热心网友
时间:2023-10-15 02:04
十进制转n进制,整数用小除法除n求余,余数逆序排列在小数点左侧(无小数省略),小数用乘法乘n求整数,顺序排列在小数点右侧,右侧为0省略。
为了方便定义下符号 “\” 表示用小除法,“!”表示商,“>”表示余数,0x表示后面为16进制数。
n=16
整数部分
100\n=100\16!6>4
商为6小于n因此结束,否则重复此步骤得到多个余数,将最后的商与余数逆序排列为0x64(此处只有一步运算所以体现不出来)
小数部分
0.5*n=0.5*16=8
取整数,如果大于9则以字母A-F替换,并顺序排列。运算后的积减去整数,如果(小数)大于0则重复计算,直到小数为0。
最后将整数放在小数点左侧,小数放在右侧:0x64.8
还比如:6457.12345
整数部分
1、6457\16!403>9
2、403\16!25>3
3、25\16!1>9
得:1939
小数部分
1、0.12345*16=1.9752 (1
2、0.9752*16=15.6032 (F
3、0.6032*16=9.6512 (9
4、0.6512*16=10.4192 (A
5、0.4192*16=6.7072 (6
...
根据要保留的小数确定计算次数,最后将整数部分顺序排列:1F9A6...
然后合并起来:1939.1F9A6..
热心网友
时间:2023-10-15 02:04
十进制转n进制,整数用小除法除n求余,余数逆序排列在小数点左侧(无小数省略),小数用乘法乘n求整数,顺序排列在小数点右侧,右侧为0省略。
为了方便定义下符号 “\” 表示用小除法,“!”表示商,“>”表示余数,0x表示后面为16进制数。
n=16
整数部分
100\n=100\16!6>4
商为6小于n因此结束,否则重复此步骤得到多个余数,将最后的商与余数逆序排列为0x64(此处只有一步运算所以体现不出来)
小数部分
0.5*n=0.5*16=8
取整数,如果大于9则以字母A-F替换,并顺序排列。运算后的积减去整数,如果(小数)大于0则重复计算,直到小数为0。
最后将整数放在小数点左侧,小数放在右侧:0x64.8
还比如:6457.12345
整数部分
1、6457\16!403>9
2、403\16!25>3
3、25\16!1>9
得:1939
小数部分
1、0.12345*16=1.9752 (1
2、0.9752*16=15.6032 (F
3、0.6032*16=9.6512 (9
4、0.6512*16=10.4192 (A
5、0.4192*16=6.7072 (6
...
根据要保留的小数确定计算次数,最后将整数部分顺序排列:1F9A6...
然后合并起来:1939.1F9A6..
热心网友
时间:2023-10-15 02:04
小数的表示和约定有直接关系。比如:二进制的 0.1 就是 十进制 0.5,
但是你二进制0.1 怎么表示为十六进制就必须有明确的约定了。比如,00h.80h 还是 00h.01h
又或者用 float 来定义。所以你要看具体如何约定才能确定100.5 表示成十六进制是什么。
通常来说,用 IEEE 754 约定的float 十六进制相互转换
100.54 = 42 C9 14 7A
热心网友
时间:2023-10-15 02:05
直接除16,反向取余
热心网友
时间:2023-10-15 02:04
小数的表示和约定有直接关系。比如:二进制的 0.1 就是 十进制 0.5,
但是你二进制0.1 怎么表示为十六进制就必须有明确的约定了。比如,00h.80h 还是 00h.01h
又或者用 float 来定义。所以你要看具体如何约定才能确定100.5 表示成十六进制是什么。
通常来说,用 IEEE 754 约定的float 十六进制相互转换
100.54 = 42 C9 14 7A
热心网友
时间:2023-10-15 02:04
十进制转n进制,整数用小除法除n求余,余数逆序排列在小数点左侧(无小数省略),小数用乘法乘n求整数,顺序排列在小数点右侧,右侧为0省略。
为了方便定义下符号 “\” 表示用小除法,“!”表示商,“>”表示余数,0x表示后面为16进制数。
n=16
整数部分
100\n=100\16!6>4
商为6小于n因此结束,否则重复此步骤得到多个余数,将最后的商与余数逆序排列为0x64(此处只有一步运算所以体现不出来)
小数部分
0.5*n=0.5*16=8
取整数,如果大于9则以字母A-F替换,并顺序排列。运算后的积减去整数,如果(小数)大于0则重复计算,直到小数为0。
最后将整数放在小数点左侧,小数放在右侧:0x64.8
还比如:6457.12345
整数部分
1、6457\16!403>9
2、403\16!25>3
3、25\16!1>9
得:1939
小数部分
1、0.12345*16=1.9752 (1
2、0.9752*16=15.6032 (F
3、0.6032*16=9.6512 (9
4、0.6512*16=10.4192 (A
5、0.4192*16=6.7072 (6
...
根据要保留的小数确定计算次数,最后将整数部分顺序排列:1F9A6...
然后合并起来:1939.1F9A6..
热心网友
时间:2023-10-15 02:05
小数的表示和约定有直接关系。比如:二进制的 0.1 就是 十进制 0.5,
但是你二进制0.1 怎么表示为十六进制就必须有明确的约定了。比如,00h.80h 还是 00h.01h
又或者用 float 来定义。所以你要看具体如何约定才能确定100.5 表示成十六进制是什么。
通常来说,用 IEEE 754 约定的float 十六进制相互转换
100.54 = 42 C9 14 7A
热心网友
时间:2023-10-15 02:05
直接除16,反向取余
热心网友
时间:2023-10-15 02:05
直接除16,反向取余