早教吧 育儿知识 作业答案 考试题库 百科 知识分享

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...的网友还看了以下: