产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
AI 助理
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
数据可视化DataV
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
祁同伟_个人页
祁同伟
文章
903
问答
572
视频
0
个人介绍
胜天半子
擅长的技术
获得更多能力
通用技术能力:
暂时未有相关通用技术能力~
云产品技术能力:
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明
高分内容
最新动态
文章
问答
视频
发表了文章
2017-07-11
欧洲登月计划
发表了文章
2017-07-11
日本——月亮女神
发表了文章
2017-07-11
美国——阿波罗计划
提交了问题
2017-07-04
ODPS 里面有对表里面数据进行加密和解密的函数吗?
提交了问题
2017-07-04
我现在用UDF做了一个手机号码归属地查询的自定义函数, 在eclipse中运行可以得到结果,我将这个自定义函数生成jar包放在大数据平台,之后我通过一个表测试的时候就会说我的函数找不到,这是怎么会事啊?not found function
提交了问题
2017-07-04
get_json_object函数,当json里的key包含$时,取不出来对应的value... 难道只能先将json里的$替换掉吗? 给你测试数据: { "uptr":55, "$pr_ve":"1"
提交了问题
2017-07-04
请问目前「大数据开发套件」添加调度资源时只能使用「华东2」的 ECS 吗?在华南的 ECS 在安装后会心跳日志是这样的: 2017-06-08 19:08:10,633 ERROR [pool-6-thread-1] [HeartbeatReporter.java:140] [] - 报告心跳出错,休息5000s后继续报告,重试了:71次,错误信息:Response Code Is not 200, Response error java.lang.Exception: Response Code Is
提交了问题
2017-07-04
为什么我一个map, 25/26跑完, 最后一个停留在530000不动了? 可能有哪些原因?有什么可以trace排查的方式吗?谢谢
提交了问题
2017-07-04
自定义UDF在使用base64编码时,java中测试是通过的,在odps里创建使用该函数抛出异常。 部分代码:new sun.misc.BASE64Encoder().encode(src); 异常信息:access denied (java.lang.RuntimePermission accessClassInPackage.sun.misc)
提交了问题
2017-07-04
我想把数据从ODPS 导入到OTS,用 maxCompute2.0 导入,建外部表的时候有下面的报错,请问是什么原因?我的同事说你们这边已经帮我们开通了2.0了
提交了问题
2017-07-04
$client = new Aliyun_Log_Client($endpoint, $accessKeyId, $accessKey); $req2 = new Aliyun_Log_Models_PutLogsRequest($project, $logstore, $topic, $source, $logitems); 请问这两个阿里SDK类是在哪个服务下的。在大数据没找到。
提交了问题
2017-07-04
odps cmd命令行里面, 有审计日志吗?
提交了问题
2017-07-04
odps 里面一张表A 的一个字段 col 里面为 k-v list结构, 如aa:1,bb:2,cc:3,dd:4 通过 lateral view explode 转换只有, 会保序吗?
提交了问题
2017-07-04
Maxcompute 2.0是否只能访问华东2区的oss?
提交了问题
2017-07-04
看Maxcompute说明文档说输入数据只能是表结构 是否可以跑用户自定义的原生的基于hdfs的Mapreduce任务,输入为hdfs文件,输出为hdfs文件,mapper的逻辑以及reducer的逻辑用户自定义实现
提交了问题
2017-07-04
我想要关闭MaxCompute服务
提交了问题
2017-07-04
用odps我跑一个MR 程序,发现一个worker 应该跑很长时间的,但是这个worker 很快跑完了,然后我查看日志发现它被interupted了.
提交了问题
2017-07-04
执行大数据开发套件odps任务时,任务执行不了,出现这个报错信息,FAILED: ODPS-0410051:Invalid credentials - accessKeyId not found: LTAIYqlp2rjQXEna
提交了问题
2017-07-04
如果一个表下面有很多分区,我需要清空这个表下面所有的分区。我应该怎么做?
提交了问题
2017-07-04
我们目前没有实时分析的需求,所有日志会集中拷贝存放在NAS的一个目录下(不想再多生成一份拷贝到OSS),对这个目录下的日志每日凌晨进行分析统计
提交了问题
2017-07-04
大数据计算服务MaxCompute,目前只开通了华东2,请问什么时候开通华北2?
提交了问题
2017-07-04
如何将odps上的数据表和数据开发的脚本同步/导出到线下保存起来?
提交了问题
2017-07-04
odps 表里面有个字段是double类型 ,里面有数据是 Null ,这个空值如何查询呢
提交了问题
2017-07-04
你好,请问数加MaxCompute服务能否开通华南地区的实例,因为目前公司其它阿里云资源基本都在华南地区,跨区的话数据同步不能走内网会比较麻烦。
提交了问题
2017-06-27
我用的是分区表。我设置的生命周期为3天,现在来看三天前的分区表还依然存在,而且每个分区的存储量也很大,那我现在如果想清理旧数据的话应该如何操作?
提交了问题
2017-06-27
需要把计算结果存成文件upload到oss,执行MR, 出现以下错误, 请问是什么原因? FAILED: ODPS-0123131:User defined function exception - Traceback: java.lang.NoClassDefFoundError: java/io/FileInputStream
提交了问题
2017-06-27
MaxCompute sql怎么可以快速的获取时间最小的行数据?
提交了问题
2017-06-27
在ODPS里面,存在表的某些字段使用自定义函数加密的,在使用tunnel 命令下载的时候,可以进行自定义函数解密。 最终下载的后的内容为解密后的内容。
提交了问题
2017-06-27
Maxcompute的数据上传下载工具Tunnel 和 DataX3.0 ,问题:1:它们在数据传输时,数据是否加密,解密处理? 2:加密的算法是什么?
提交了问题
2017-06-27
UDF读取文件问题 我在一个UDF中需要读一个文件,所以我用odpscmd把这个文件作为资源加到我的project中: > add file b_xx.txt -f OK: Resource 'b_xx.txt' have been updated. 我在UDF的setup中使用context.readResourceFileAsStream("b_xx.txt")读取该资源的时候,提示file not found。 是不是需要一个odps内部使用的资源定位路径才能访问该资源? 另外,我在i
提交了问题
2017-06-27
SELECT a.id as id > , IFNULL( concat('phs\xxx', a.insy, '\xxxb\xxx', IFNULL()报错; Semantic analysis exception - Invalid function : line 1:41 'ifnull'
提交了问题
2017-06-27
MaxCompute有没有类似group_concat的函数?
提交了问题
2017-06-27
MaxCompute tunnel api的python sdk怎么使用?没找到说明 https://help.aliyun.com/document_detail/34615.html?spm=5176.doc27838.6.683.iAXLIP 这个里面就只是提到过tunnelapi
提交了问题
2017-06-27
Maxcompute能否像MySQL一样灵活使用用户变量(即MySQL的@变量名),目前在帮助文档中使用的${xxx}只能按照填写固定的数值。 比如我想在对上一行的某个字段进行运算处理后填入本行的另一个字段里。
提交了问题
2017-06-27
有没有类似ptkill之类批量杀死超时任务的方式呢?
提交了问题
2017-06-27
业务场景:用户上传csv或机器生成csv,然后希望通过ads直接做adhoc查询。数据量暂时不大,但是有可能出现的情况是,表很多,但每个表数据量或多或少。查询时间短期内可以接受分钟级别的,当然是越快越好。
提交了问题
2017-06-27
maxcompute 怎么做即席查询 ?有产品吗
提交了问题
2017-06-27
创建一个一自定义权限,授权创建DataHub Project权限,但是还是提示权限不足, 报40003权限拒绝错误。 { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "dhs:CreateProject" ], "Resource": [ "acs:dhs:$region:$accountid:projects/*"
提交了问题
2017-06-27
怎么给RAM用户单独设置DataHub权限,我在权限列表里面没有找到这个权限设置。
提交了问题
2017-06-27
MYSQL含有的substring_index函数MAXCOMPUTE里没有。
提交了问题
2017-06-27
maxcompute如何将一条数据转多条,如同https://help.aliyun.com/KnowledgeDetail.htm?spm=5176.2020520129.113.2.ece1OW&knowledgeId=51068中第一个案例的逆操作。
提交了问题
2017-06-27
任务调度都是下一天、下一月、下一周的不能设置成当天的吗
提交了问题
2017-06-27
用tunnel上传数据,需要上传很多个数据文件到一个表中,是否有方法写一个脚本就可以把文件夹下的所有数据文件循环上传上去
提交了问题
2017-06-27
MaxCompute SQL执行提示我输入的数据会超过100G,我设置了过滤执行条件,为什么还不行,规则是什么?
提交了问题
2017-06-26
配置sqlserver数据源(不是RDS,是ECS上的实例),"测试连通性",连接超时,因为这个服务器设置了IP白名单,这种情况需要怎么配置,要把哪个IP加入到白名单
提交了问题
2017-06-26
最近4-5天,大数据开发套件中运维中心的任务都没有被自动调度起来。 每天只有两个虚节点调度了,其他任务都没有被调度起来。去“项目管理”->"调度资源管理"中查看,服务状态是”暂停“,点了”恢复“后,这一天的任务才正常。 请问这个是什么原因?我们之前半年这调度都好了,就最近开始这情况了。
提交了问题
2017-06-26
请问如何将数据同步到maxcompute进行离线计算后,再把离线计算的结果同步到RDS? 同步到maxcompute后的数据如何在BI中创建数据集、工作表和仪表盘?
提交了问题
2017-06-26
你好,我想问一下,我测试运行了一个工作流任务,工作流任务中 包含7个数据同步任务,后来因为某些原因终止了任务,一些节点已经运行完,一些还没有运行完,想问一下,那些没有运行完,即出现红叉的节点,会有数据插入到相对应的表里面吗?就是说,插入了一部分数据,然后被我终止,还是说,必须任务执行完,显示对号,数据才会插入到表中,中间终止任务,出现红叉,不会插入到数据到相对应的表?
提交了问题
2017-06-26
请问我这样是否是将rds中的表一次性导入到maxcompute中了。如果成功导入的话附件22.jpg为什么物理存储是0
提交了问题
2017-06-26
我在使用用户画像的时候,用到maxcompute的资源,需要填写Access Key ID和Access Key Secret,请问我该如何填写我选用的maxcompute的资源呢?
1
...
22
23
24
25
26
跳转至:
暂无更多信息
发表了文章
2017-10-11
2011年云计算发展趋势的五大预测
发表了文章
2017-10-11
郭建兵:四个方面大力度促进云计算发展
发表了文章
2017-10-11
梁志辉:云计算转型需要考虑三个方面
发表了文章
2017-10-11
李国杰:云计算不可忽视计算机系统研究
发表了文章
2017-10-11
触摸云计算:云服务的分界点在哪里?
发表了文章
2017-10-11
虚拟化的蜕变 VMware全面发力云计算
发表了文章
2017-10-11
创新Or模仿?浅谈“山寨”圈里的云计算
发表了文章
2017-10-11
十大组织竞争云计算标准 中国如何参与?
发表了文章
2017-10-11
IT史上十大收购案
发表了文章
2017-10-11
如何区别?三个角度看云计算与网格计算
发表了文章
2017-10-11
满腹牢骚?来看看云计算的十大抱怨吧
发表了文章
2017-10-11
把云环境托管在百姓家里?
发表了文章
2017-10-11
关于云计算的期盼
发表了文章
2017-10-11
云计算时代需要行业标准
发表了文章
2017-10-10
选择托管数据中心时必问的五个问题
发表了文章
2017-10-10
云计算缘何会促进硬件销量增长?
发表了文章
2017-10-10
数字不会说谎:云促进服务器销量增长
发表了文章
2017-10-10
罗鑫:让精准的制冷驱动机房高效运行
发表了文章
2017-10-10
胡进勤:精密空调组网群控功能介绍
发表了文章
2017-10-10
系统架构师大会推荐的10本云计算图书
正在加载, 请稍后...
滑动查看更多
回答了问题
2019-07-17
十进制数54转换成二进制整数是0110110。我算后是110110,不明白前面为什么要加0,求解答
上面第一个人把错的看成正确的了
赞0
踩0
评论0
回答了问题
2019-07-17
已知某进制数运算2X3=10,则3X5=?
2×3=10 所以满6进1 为6进制3×5=15=2×6+3 所以3×5=23
赞0
踩0
评论0
回答了问题
2019-07-17
JAVA异或运算,是将数改为2进制运算的?
3 = 11 1 = 01 11 XOR 01 = 10 = 2
赞0
踩0
评论0
回答了问题
2019-07-17
二进制数1100是二进制数的几倍110用计算器怎么算
二进制数1100是110的2倍。这与十进制数1100是110的10倍是同样的道理。十进制数在后尾儿每添加一个0,就会增大10倍,二进制数在后尾儿每添加一个0,则会增大2倍。
赞0
踩0
评论0
回答了问题
2019-07-17
1010-1111二进制结果是多少?怎么算的咯???
2^7+2^5+2^3+2^2+2^1+2^0=128+32+8+4+2+1=175 ^为次方
赞0
踩0
评论0
回答了问题
2019-07-17
如何用计算器计算二进制数的运算
你说的什么计算器? 系统自带的计算器,可以计算二进制的'与'、“或”、“非” 你选二进制就可以了
赞0
踩0
评论0
回答了问题
2019-07-17
java中异或是怎样算的
异或运算(^)都以二进制数据为基础进行的运算。也就是说当代码中使用到异或运算时,都会先将两个条件进行转换,转换成二进制数据后,再进行运算。异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0,一个是1)为1。 例如 int a=4; int b=6; int c = a^b;//c的值是a和b的异或。值为2. 过程 1、a的值二进制是 0000 0100 //这里去低8位,因为高位都一致。 2、b的值二进制是 0000 0110 3、异或后 0000 0010 //结果是2
赞0
踩0
评论0
回答了问题
2019-07-17
网络中为什么要用二进制计算?用十进制表示?
计算机计算时只能使用二进制,因为只有高电平和低电平,所以用二进制,用十进制表示只是为了方便些,如果用二进制表示结果不把你看的累死
赞0
踩0
评论0
回答了问题
2019-07-17
计算机的二进制带符号运算为什么用0表示正数1表示负数
二进制中,如果是有符号数字,最高位(左边第一位)表示符号,0表示正数,1表示负数 例如用原码表示2和-2分别是 010和110 其中最前面的0和1不是表示数字大小,而是表示正数和负数. 另外还有反码和补码,这里不多说了,想了解联系我
赞0
踩0
评论0
回答了问题
2019-07-17
二进制下,111+111怎么算呢?
就跟十进制的加法一样的啊,只不过现在是逢二进一 111+111 = 1110 一样的啊,你看啊,十进制里面 58+58,个位上进一位对吧,然后十位上相加变成11了,那该怎么办呢,得向百位进位,同样的道理,3 = 2 + 1,所以需要向前进位
赞0
踩0
评论0
回答了问题
2019-07-17
什么是二进制?
一种计算机式一般计算都转换为十进制-------------------------二进制就是等于2时就要进位。 0=00000000 1=00000001 2=00000010 3=00000011 4=00000100 5=00000101 6=00000110 7=00000111 8=00001000 9=00001001 10=00001010 …… 即是逢二进一 上面朋友说的二进制被取代了是不对的,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。不能说取代。只是用二进制执行运算,用其他进制表现出来。 思想扩展: 内存为什么1M=1024K。
赞0
踩0
评论0
回答了问题
2019-07-17
5的二进制怎么等于几??怎么算说清楚!!
5的二进制,用最简单的方法的说:二进制八位的权分别是,128/64/32/16/8/4/2/1,5就等于4+1,所以是101
赞0
踩0
评论0
回答了问题
2019-07-17
windows计算器不论选择多少进制计算,在电脑里面都是用的二进制?
不仅仅是Windows,几乎目前所有的电脑、手机、单片机、嵌入式处理器、FPGA、CPLD、PLC等等,都是对二进制数进行数学运算。
赞0
踩0
评论0
回答了问题
2019-07-17
计算机编程里的2进制和16进制应该怎么算啊?应该怎么转换啊
首先我们来看一个二进制数:1111,它是多少呢。你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。 下面列出四位二进制数 xxxx 所有可能的值(中间略过部分) 仅4位的2进制数 快速计算方法 十进制值 十六进值1111 = 8 + 4 + 2 + 1 = 15 F1110 = 8 + 4 + 2 + 0 = 14 E1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 4 + 0 + 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A1001 = 8 + 0 + 0 + 1 = 10 9....0001 = 0 + 0 + 0 + 1 = 1 10000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢。先转换F:看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢。应该是8 + 4 + 2 + 1,所以四位全为1 :1111。接着转换 D:看到D,知道它是13,13如何用8421凑呢。应该是:8 + 2 + 1,即:1011。所以,FD转换为二进制数,为: 1111 1011 由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数:被除数计算过程商余数12341234/167727777/16413 (D)44/1604 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。其中对映关系为:0100 -- 41011 -- D0010 -- 2 同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。下面举例一个int类型的二进制数:01101101 11100101 10101111 00011011我们按四位一组转换为16进制: 6D E5 AF 1B
赞0
踩0
评论0
回答了问题
2019-07-17
编程的进制有多少种?分别是怎样计算的?举例说明!
2、8、10、16进制转换方法 生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。 生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度…… 我们找到问号字符(?)的ASCII值是63,那么我们可以把它转换为八进值:77,然后用 '\77'来表示'?'。由于是八进制,所以本应写成 '\077',但因为C,C++规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。 事实上我们很少在实际编程中非要用转义符加八进制数来表示一个字符,所以,6.2.4小节的内容,大家仅仅了解就行。 6.2.5 十六进制数转换成十进制数 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊。 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。 假设有一个十六进数 2AF5, 那么如何换算成10进制呢。 用竖式计算: 2AF5换算成10进制: 第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第2位: A * 16^2 = 2560 第3位: 2 * 16^3 = 8192 + ------------------------------------- 10997 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 (别忘了,在上面的计算中,A表示10,而F表示15) 现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。 假设有人问你,十进数 1234 为什么是 一千二百三十四。你尽可以给他这么一个算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 6.2.6 十六进制数的表达方法 如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。 C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O) 以下是一些用法示例: int a = 0x100F; int b = 0x70 + a; 至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。 6.2.7 十六进制数在转义符中的使用 转义符也可以接一个16进制数来表示一个字符。如在6.2.4小节中说的 '?' 字符,可以有以下表达方式: '?' //直接输入字符 '\77' //用八进制,此时可以省略开头的0 '\0x3F' //用十六进制 同样,这一小节只用于了解。除了空字符用八进制数 '\0' 表示以外,我们很少用后两种方法表示一个字符。 6.3 十进制数转换到二、八、十六进制数 6.3.1 10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢。 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂。我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 (不要告诉我你不会计算6÷3。) “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0……” 现在商是1,还不是0,所以继续除以2。 那就: 1 ÷ 2, 得到商是0,余数是1 (拿笔纸算一下,1÷2是不是商0余1!) “将商继续除以2,直到商为0……最后将所有余数倒序排列” 好极。现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了。 6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为: 被除数 计算过程 商 余数 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在计算机中,÷用 / 来表示) 如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除: (图:1) 请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。 说了半天,我们的转换结果对吗。二进制数110是6吗。你已经学会如何将二进制数转换成10进制数了,所以请现在就计算一下110换成10进制是否就是6。 6.3.2 10进制数转换为8、16进制数 非常开心,10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。 来看一个例子,如何将十进制数120转换成八进制数。 用表格表示: 被除数 计算过程 商 余数 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120转换为8进制,结果为:170。 非常非常开心,10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16。 同样是120,转换成16进制则为: 被除数 计算过程 商 余数 120 120/16 7 8 7 7/16 0 7 120转换为16进制,结果为:78。 请拿笔纸,采用(图:1)的形式,演算上面两个表的过程。 6.4 二、十六进制数互相转换 二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。 我们也一样,只要学完这一小节,就能做到。 首先我们来看一个二进制数:1111,它是多少呢。 你可能还要这样计算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。 下面列出四位二进制数 xxxx 所有可能的值(中间略过部分) 仅4位的2进制数 快速计算方法 十进制值 十六进值 1111 = 8 + 4 + 2 + 1 = 15 F 1110 = 8 + 4 + 2 + 0 = 14 E 1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 4 + 0 + 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A 1001 = 8 + 0 + 0 + 1 = 10 9 .... 0001 = 0 + 0 + 0 + 1 = 1 1 0000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。 如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢。 先转换F: 看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢。应该是8 + 4 + 2 + 1,所以四位全为1 :1111。 接着转换 D: 看到D,知道它是13,13如何用8421凑呢。应该是:8 + 2 + 1,即:1011。 所以,FD转换为二进制数,为: 1111 1011 由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。 比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数: 被除数 计算过程 商 余数 1234 1234/16 77 2 77 77/16 4 13 (D) 4 4/16 0 4 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1011 0010。 其中对映关系为: 0100 -- 4 1011 -- D 0010 -- 2 同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。 下面举例一个int类型的二进制数: 01101101 11100101 10101111 00011011 我们按四位一组转换为16进制: 6D E5 AF 1B 6.5 原码、反码、补码 结束了各种进制的转换,我们来谈谈另一个话题:原码、反码、补码。 我们已经知道计算机中,所有数据最终都是使用二进制数表达。 我们也已经学会如何将一个10进制数如何转换为二进制数。 不过,我们仍然没有学习一个负数如何用二进制表达。 比如,假设有一 int 类型的数,值为5,那么,我们知道它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。 现在想知道,-5在计算机中如何表示。 在计算机中,负数以其正值的补码形式表达。 什么叫补码呢。这得从原码,反码说起。 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。 比如00000000 00000000 00000000 00000101 是 5的 原码。 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 取反操作指:原为1,得0;原为0,得1。(1变0; 0变1) 比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。 称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。 反码是相互的,所以也可称: 11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。 补码:反码加1称为补码。 也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。 比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。 那么,补码为: 11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011 所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。 再举一例,我们来看整数-1在计算机中如何表示。 假设这也是一个int类型,那么: 1、先取1的原码:00000000 00000000 00000000 00000001 2、得反码: 11111111 11111111 11111111 11111110 3、得补码: 11111111 11111111 11111111 11111111 可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。 一切都是纸上说的……说-1在计算机里表达为0xFFFFFF,我能不能亲眼看一看呢。当然可以。利用C++ Builder的调试功能,我们可以看到每个变量的16进制值。
赞0
踩0
评论0
回答了问题
2019-07-17
5的二进制数加2的二进制数怎么算
5的二进制为00000101 2的二进制位00000010 1+0=1 0+0=0 1+1=0高位进1 结果就是000000111 转换成二进制也就是7
赞0
踩0
评论0
回答了问题
2019-07-17
二进位数进行逻辑运算1010AND1001的运算结果
1010 按位与时,两位都是1时才得到1,否则0 1001 逐位进行AND运算,结果在下面行 1000
赞0
踩0
评论0
回答了问题
2019-07-17
二进制代码10111000和11001010"与"运算的结果与10100110进行"或"运算,其结果为多少?
与运算就是都是1就是1其他全0 或运算就是有1结果就是1 其他0 10111000 11001010 与 ---------- 10001000 10100110 或 ---------- 10101110-------------------------10101110
赞0
踩0
评论0
回答了问题
2019-07-17
有谁能告诉我二进制是怎么算的?
逢二进一 1+1=10
赞1
踩0
评论0
回答了问题
2019-07-17
计算器变成2进制如何变回来
1:点击计算器上面的查看按钮 2:选标准型就回到最初,先科学型就有很多进制的选择了 你点一下标准 就可以
赞0
踩0
评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息