祁同伟_个人页

个人头像照片 祁同伟
903
572
0

个人介绍

胜天半子

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
  • 提交了问题 2017-06-26

    请问maxcompute如何收费的,比如说我将rds库中的某张表的几百万条数据同步到maxcompute中?

  • 提交了问题 2017-06-26

    请问我在数据同步的时候出现错误,是什么问题,在选择目标那一步我快速建表,然后点击提交便会出现错误,如附件所示。

  • 提交了问题 2017-06-26

    maxcompute中的数据可以直接通过接口或者语言查询到吗,还是只能通过数据同步,把数据同步到mysql这种工具里查询呢?比如php。

  • 提交了问题 2017-06-26

    MaxCompute(原ODPS)项目初始化失败?

  • 提交了问题 2017-06-26

    问问OSS里面的日志文件可以同步到maxcompute吗?

  • 提交了问题 2017-06-26

    请问MaxCompute > 快速开始 > 编写 UDF ,如果用java编写UDF,能不能把调用python或者js的jar也放到我这个UDFjar中,实现我的代码调用python文件执行python中的算法。

  • 提交了问题 2017-06-26

    可以关闭分区表吗? 不然在sql查询时,会有很多重复的数据,

  • 提交了问题 2017-06-26

    通过大数据开发套件-数据集成-新建同步任务的都是指定分区的吧, 如果每天只执行一次的话,那么就不会进行truncate

  • 提交了问题 2017-06-26

    maxcompute 数据集成: insert overwrite , 1.如果发生了覆盖,会将其他分区的记录干掉吗? 2.发生覆盖的条件是什么? 所有字段相同,还是主键相同??

  • 提交了问题 2017-06-26

    insert into table ods_a partition (ds='20130620') select a,b,c,d from ods_b ; 比如这样当执行到第10次插入失败了, ods_a 表中会看到前9条数据吗?

  • 提交了问题 2017-06-26

    通过任务调度导入数据是一个事物吗,是所有数据导入成功才提交事物,还是插入一条数据提交一次事物?

  • 提交了问题 2017-06-26

    套件中机器学习功能“在线预测功能介绍”,是否可以用在生产环境,其内部是否有负载均衡,服务可靠性可以做到几个9?

  • 提交了问题 2017-06-26

    另外一个问题,对于查询出的结果,目前看到提供了复制和下载功能,是否可以有哪个地方可以把这两个功能关闭掉,或者针对某些账号关闭掉。

  • 提交了问题 2017-06-26

    你好,我有两个问题。 1.在数加的在线ide中,查询select结果是有行数限制的,目前看到的是5000行还是10000行限制,这个限制能够在哪里改动配置吗,我想把这个记录数量调整得更小一些,比如100行这种。其主要目的是对某些子账号做权限的限制,防止能看到大量的数据。

  • 提交了问题 2017-06-16

    专用网络内 maxcompute 连接 esc 的 自建mysql。 1 表无法查询到、2 无法测试连接

  • 提交了问题 2017-06-16

    【SOS】任务开发完成测试通过后,怎么执行?(帮助文档里说的创建发布包,但我这边数据开发界面没有发布按钮)

  • 提交了问题 2017-06-16

    单个任务内,sql语句执行顺序问题! 比如sql执行顺序有可能:第3段代码->第1段->第2段 吗?

  • 提交了问题 2017-06-16

    你好,下面有几个关于数据管理-->查找数据--> 血缘信息 相关的问题,需要解答一下 1.血缘信息的上下游表的相关信息,多久会更新? 2.在查一些表的上游表时,会发现有很多重复的表名,原因是什么? 3.在查一些下游表时,一些临时的表名也在下游表里出现了, 而且也出现下游表同名出现多次的情况,还有就是下游的表名是它自己本身的名字。 4.关于表的上下游表是从我们每天跑的任务里面提取出来的相关关系么?

  • 提交了问题 2017-06-16

    新增的子账号(RAM) 可以访问其他odps项目的表,未对该账户设置过访问其他项目的权限

  • 提交了问题 2017-06-16

    什么是数据的血缘信息?为什么我如下任务包含的sql显示不出血缘信息?

  • 提交了问题 2017-06-16

    数据同步过程中,可能有某些数据同步出错,可以配置用户邮件列表。把出错的表发送给用户。 或者提供接口给我们呢?

  • 提交了问题 2017-06-16

    我要做数据集成,但是右上角老蹦粉色消息框order字段是不是已经被删除了,请问为啥?

  • 提交了问题 2017-06-16

    新建子管理账号,授权“读写所有云资源”权限,但子账号不能访问大数据(数加)里面的功能(大数据开发套件)

  • 提交了问题 2017-06-16

    子账号无法访问大数据开发平台,提示缺少access id,但这个账号是已经有access id的

  • 提交了问题 2017-06-16

    shell任务执行问题(线上问题,再等,帮忙尽快处理) 调度资源管理添加的其中一台服务器一直是“停止”,重新执行了初始化,还是“停止”

  • 提交了问题 2017-06-16

    我刚才补数据的时候,应该使用 “写入前保留已有数据 Insert Into,”插入数据,结果选成了“写入前清理已有数据 Insert Overwrite”,导致原库里面 30G的数据被清理了,想问一下,你们能帮我恢复吗?还是说需要我再重新插一遍。

  • 提交了问题 2017-06-16

    我想把ODPS里面某个表里面的数据复制到RDS里面去,请问你们有工具可以提供这个功能吗? ODPS里面的表和RDS里面的表结构一样。

  • 提交了问题 2017-06-16

    大数据开发套件,只能购买华东2区的,我服务器都是在华北2区, 在添加RDS数据源时,如何添加华北2区的专有网络(内网)RDS?

  • 提交了问题 2017-06-16

    如果我只想同步过去 100条数据,在where 处应该怎么写 limit?

  • 提交了问题 2017-06-16

    你好,我想问一下,我从一个业务库里面的一张表同步数据到大数据开发平台里面一个库里的一张表,因为表中的数据较多,我可以同时跑两个任务操作吗?一个任务跑1月1号之前的所有数据,一个任务跑1月一号到今天的数据,这样的话,速度是不是比跑一个任务快一点?如果快的话,假如我有x个月的数据,是否可以分成x个任务,这样时间花费会更少?这样的方案是否可行?

  • 提交了问题 2017-06-16

    我创建了一个 mongodb 的数据源,在同步任务里面选择数据源的时候,这个 mongodb 的数据源没有列出来

  • 提交了问题 2017-06-16

    你好,我做数据同步时,因为个人失误,导致一个月份的数据插入重复,请问如何删除这部分重复数据,而不是直接用truncate清空该表,因为我这个表数据较多,接近100个G,重新导入一遍代价太大,如何删除掉1万条多余数据呢?表是非分区表;

  • 提交了问题 2017-06-16

    如何进行条件删除odps中的数据啊,delete sql语句不让用;

  • 提交了问题 2017-06-16

    要切换阿里云账号,所以需要将老账号下的ODPS数据同步到新的账号ODPS下,但是DTS不支持,同时,我用大数据套件中的同步任务做,仅能同步今天以后的。如果我手动执行同步任务需要选择某一天,就只能同步那一天的,可能因为当时分区用的yyyymmdd。我想同步表中全部数据怎么办?

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,从maxcompute导入数据到rds,执行报错:经DataX智能分析,该任务最可能的错误原因是:

  • 提交了问题 2017-06-09

    我在MaxCompute中存储着原始数据,我想讲处理过的数据输出到mysql当中,应该怎么操作,有相应文档么? 比如我在MaxCompute中存储着每一条数据,我想在sql中存储根据某个字段分组(group by)之后的数量,是不是上述文档没有相关内容

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,我在数据集成中设置了同步任务,每天自动同步数据,请教下,为啥不能每天自动同步?

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,RDS同步失败,提示请检查您的账号、密码、数据库名称等;

  • 提交了问题 2017-06-09

    在大数据开发套件中,编写完任务,测试运行后,该任务是否已经被提交并且开始正常定时调度?

  • 提交了问题 2017-06-09

    在大数据开发套件中,编写了一个定时任务,提交并正常定时调度,是否我删除了该任务,定时调度就会停止了?否则如何停止一个定时调度任务?

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,我在我的项目中新建了一个同步任务,我想专门用来补数据的,同步20150629-2016231之间的数据,可以提交然后运行补数据任务即可,但是我不想该任务运行其他时间段,比如任务提交时会要求选择运行时间,运行周期,那么任务会在指定的周期时间点开始运行,我只需要该任务补数据即可,不需要在周期运行。有什么办法吗?不知道我描述清楚了没有。

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,今天数据同步任务很多处于等待状态,麻烦查下原因

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,任务执行失败:任务包含多个根节点:xxx_a数据同步,xxx_b数据同步。

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,如果 我补录数据,补录几个月甚至更长时间,我想提前中断任务我需要怎么做。

  • 提交了问题 2017-06-09

    大数据开发套件DataIDE任务运行日志打不开?

  • 提交了问题 2017-06-09

    在使用大数据开发套件提交任务时,${bdp.system.bizdate} 这个时间 我想取 一年前,一个月前 半年前 一周前 怎么弄

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,以前在 阿里云数加平台>大数据开发套件>管理控制台 中创建过项目:Project_a。现在点击[进入工作区]想查看一下内容,但是一直进入不了。是数加平台更新后有新的配置吗?

  • 提交了问题 2017-06-09

    大数据开发套件替代传统etl 工具,那么问题来了 MaxCompute貌似不支持delete 和update 动作,这样的话如果我数据出现问题,重跑数据 我应该用什么解决方案取做呢?

  • 提交了问题 2017-06-09

    在使用大数据开发套件时,为什么我开发的任务不能周期性调度?都没看到设置周期性调度的地方?

  • 提交了问题 2017-06-09

    我在大数据开发套件上用group by。我对一张表A做group by成表B,结果表B比原来表A的行数要少了,但是物理存储量表B却是表A的10倍,请问这个什么原因? 问题现状详见附件,期待您的答复,谢谢

暂无更多信息
  • 发表了文章 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
  • 回答了问题 2019-07-17

    已知某进制数运算2X3=10,则3X5=?

    2×3=10 所以满6进1 为6进制3×5=15=2×6+3 所以3×5=23
    踩0 评论0
  • 回答了问题 2019-07-17

    JAVA异或运算,是将数改为2进制运算的?

    3 = 11 1 = 01 11 XOR 01 = 10 = 2
    踩0 评论0
  • 回答了问题 2019-07-17

    二进制数1100是二进制数的几倍110用计算器怎么算

    二进制数1100是110的2倍。这与十进制数1100是110的10倍是同样的道理。十进制数在后尾儿每添加一个0,就会增大10倍,二进制数在后尾儿每添加一个0,则会增大2倍。
    踩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
  • 回答了问题 2019-07-17

    如何用计算器计算二进制数的运算

    你说的什么计算器? 系统自带的计算器,可以计算二进制的'与'、“或”、“非” 你选二进制就可以了
    踩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
  • 回答了问题 2019-07-17

    网络中为什么要用二进制计算?用十进制表示?

    计算机计算时只能使用二进制,因为只有高电平和低电平,所以用二进制,用十进制表示只是为了方便些,如果用二进制表示结果不把你看的累死
    踩0 评论0
  • 回答了问题 2019-07-17

    计算机的二进制带符号运算为什么用0表示正数1表示负数

    二进制中,如果是有符号数字,最高位(左边第一位)表示符号,0表示正数,1表示负数 例如用原码表示2和-2分别是 010和110 其中最前面的0和1不是表示数字大小,而是表示正数和负数. 另外还有反码和补码,这里不多说了,想了解联系我
    踩0 评论0
  • 回答了问题 2019-07-17

    二进制下,111+111怎么算呢?

    就跟十进制的加法一样的啊,只不过现在是逢二进一 111+111 = 1110 一样的啊,你看啊,十进制里面 58+58,个位上进一位对吧,然后十位上相加变成11了,那该怎么办呢,得向百位进位,同样的道理,3 = 2 + 1,所以需要向前进位
    踩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
  • 回答了问题 2019-07-17

    5的二进制怎么等于几??怎么算说清楚!!

    5的二进制,用最简单的方法的说:二进制八位的权分别是,128/64/32/16/8/4/2/1,5就等于4+1,所以是101
    踩0 评论0
  • 回答了问题 2019-07-17

    windows计算器不论选择多少进制计算,在电脑里面都是用的二进制?

    不仅仅是Windows,几乎目前所有的电脑、手机、单片机、嵌入式处理器、FPGA、CPLD、PLC等等,都是对二进制数进行数学运算。
    踩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
  • 回答了问题 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
  • 回答了问题 2019-07-17

    5的二进制数加2的二进制数怎么算

    5的二进制为00000101 2的二进制位00000010 1+0=1 0+0=0 1+1=0高位进1 结果就是000000111 转换成二进制也就是7
    踩0 评论0
  • 回答了问题 2019-07-17

    二进位数进行逻辑运算1010AND1001的运算结果

    1010 按位与时,两位都是1时才得到1,否则0 1001 逐位进行AND运算,结果在下面行 1000
    踩0 评论0
  • 回答了问题 2019-07-17

    二进制代码10111000和11001010"与"运算的结果与10100110进行"或"运算,其结果为多少?

    与运算就是都是1就是1其他全0 或运算就是有1结果就是1 其他0 10111000 11001010 与 ---------- 10001000 10100110 或 ---------- 10101110-------------------------10101110
    踩0 评论0
  • 回答了问题 2019-07-17

    有谁能告诉我二进制是怎么算的?

    逢二进一 1+1=10
    踩0 评论0
  • 回答了问题 2019-07-17

    计算器变成2进制如何变回来

    1:点击计算器上面的查看按钮 2:选标准型就回到最初,先科学型就有很多进制的选择了 你点一下标准 就可以
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息