首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【软考学习1】数据表示——进制转换,R进制10进制10进制R进制

进制转换是软考必考的项目,首先对其进行复习。 进制转换模块可分为两块——R进制10进制10进制R进制。...零、使用场景 日常生活中通常使用十进制,但计算机底层都是采用二进制计算,所以会涉及到进制转换。 ---- 一、十进制R进制(短除法) 样例一 除法的计算公式为 被除数 ÷ 除数 = 商 + 余数。...样例三 16进制数 6A8 10 进制 第一位 6 ,拆分为 6 乘 16 的 2 次方。 第二位 A(即10),拆分为10 乘 16 的 1 次方。...样例四 比如13进制数 8B7 10进制 第一位 8 ,拆分为 8 乘 13 的 2 次方。 第二位 B(即11),拆分为11 乘 13 的 1 次方。...,掌握了 R 进制 10 进制10进制 R 进制的方法。

22820

进制十六进制 C++

题目描述 编写一个函数,传入一个十进制的正整数,将十进制整数转换为十六进制字符串并返回。...(十六进制字符串中的字母全部大写) 输入描述: 键盘输入一个十进制的正整数 输出描述: 输出该十进制整数转换后的十六进制字符串 示例1 输入: 162 复制输出: A2 复制 示例2 输入: 50 复制输出...: 32 复制 示例3 输入: 501 复制输出: 1F5 思路分析 思路很简单,就是按照十进制十六进制的算法来算,除以16取余,关键是灵活调用string类的各种函数来完成插入的工作。...具体来说: 先建立一个空的string字符串hex用来存储我们变换后的十六进制数,之后我们对十进制数进行除以16取余的操作,这里需要一个循环,先判断和16取余后的数是否小于10,如果小于10,说明是数字...,加上‘0’就可以变成相应的数字字符,如果不是小于10,说明要变成字母,加上‘A'就可以变成相应的字母了,然后将该字符用insert函数插入字符串hex的开头,然后将十进制数除以16后继续循环,直到十进制数为

29730

C语言复习_进制

什么是机器数 顾名思义 机器数就是能被计算机识别的二进制形式的数 我们建设计算机的字长为8(就是存储一个字的长度) 十进制3换二级制的数等于0000 0011 如果是-3 二进制表现形式是1000 0011...在刚开始接触进制的时候,我有一个疑惑,为什么不可以用原码编码直接表示二进制,1用00000001表示 -1用10000001表示 1+(-1)=0 可是我们经过原码计算结果是错误的 结果是-2 为了解决原码计算减法的错误...比如下午两点 我们可以写作 14 12+14 12-10 都表示的是下午两点 这里涉及的数学的一个同余概念 就是有两个数a,b 除以一个整数如果余数相等 则称这a,b同余 比如 14 26 2在表盘上表现的形式都是一样的...无符号二进制数 八位二进制数可以表示256个数字 范围是0-255 在计算机读取时,只会读取低八位的二进制数 超过256这个范围 溢出部分会被自动舍去 所以 00000001 和10000001 在补码编码下在计算机看来是一样的都是...1 有符号二进制数 有符号二进制数的范围是[-127,128] 通过补码可以实现有符号二进制运算适用无符号二进制运算规则 首先解决了两个0的问题 10000000表示的是-128 其次解决了原码减法运算的错误

66610

再议C语言将十六进制字符串转成十进制整数

前文《C语言将十六进制字符串转成十进制整数》讲述了将十六进制字符串中单个字符分别从高位到低位正序和从低位到高位逆序转换成对应的十进制数,今天在看原文的程序发现一个不好的地方:由于使用了char * p...1 从高位到低位单个字符转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29...(例如"eE2"、"Fa1"、"2011"、"-eE2"、"+eE2"等) * @return -1:字符串为空; -2:分配内存出错; -3:字符串中包含非十六进制字符; 其它:转换后的十进制整数...2 从低位到高位单个字符转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29...(例如"eE2"、"Fa1"、"2011"、"-eE2"、"+eE2"等) * @return -1:字符串为空; -2:分配内存出错; -3:字符串中包含非十六进制字符; 其它:转换后的十进制整数

8810
领券