早教吧作业答案频道 -->其他-->
C++十进制算式(3*2^10+7*2^8+5*2^4+1)/16的结果是用十进制,二进制,八进制,十六进制分别表示出来,求详细过程
题目详情
【C++】十进制算式(3*2^10+7*2^8+5*2^4+1)/16的结果是
用十进制,二进制,八进制,十六进制分别表示出来,求详细过程
用十进制,二进制,八进制,十六进制分别表示出来,求详细过程
▼优质解答
答案和解析
如果是整数除法:
一、十进制
(3*2^10+7*2^8+5*2^4+1)/16
=(3*1024+4*256+5*16+1)/16
=4945/16
=309 (舍去小数)
二、二进制、八进制、十六进制方法一:由十进制计算结果直接换算
结果的二进制为100110101,
八进制只要从最低位起3位一组,即
100,110,101 b =465 o
十六进制就用4位一组
1,0011,0101 b = 135 h
三、直接通过移位运算获得
(3*2^10+7*2^8+5*2^4+1)/16
=[(2+1)*2^10+(4+2+1)*2^8+(4+1)*2^4+2^0]>>4
=[(2^11+2^10)+(2^10+2^9+2^8)+(2^6+2^4)+2^0]>>4
=(2^11+2^11+2^9+2^8+2^6+2^4+2^0)>>4
=(2^12+2^9+2^8+2^6+2^4+2^0)>>4
=2^8+2^5+2^4+2^2+2^0
写成二进制表示式为
100110101 b
同理八进制为465 o,十六进制为135 h.
看了 C++十进制算式(3*2^1...的网友还看了以下: