A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

例如8转化成2进制

19 个回复

倒序浏览
本帖最后由 S970028126 于 2015-6-22 23:09 编辑

                        #include <stdio.h>        
                        void printfBinary(int number);
                        int main()
                        {
                                printfBinary(8);
                                return 0;
                        }

                        void printfBinary(int number)
                        {
                                int temp = 31;                      //31是这样算出来的    int temp = (sizeof(number) << 3) - 1     sizeof是计算所占字节, 左移三位是乘8,占32位

                                while (temp >= 0)
                                {
                                        int value = number >> temp & 1;                      // 向右移动31位,输出第一位,向右移动30位,输出第二位。。。与1&是将前面右移产生的0去掉
                                        printf("%d\n", value);
                                        temp --;
                                }
                                printf("\n");
                        }
回复 使用道具 举报 1 0
iOS基础视频 第七天 第16个  有详细讲解
回复 使用道具 举报 1 0
加油。。。。。
回复 使用道具 举报
思想是除2取余,然后倒序余数就可以得到二进制数
回复 使用道具 举报
不要太纠结于进制问题。开发中都有十进制,谁还搞二进制什么的啊。
回复 使用道具 举报
LEON27 中级黑马 2015-6-23 16:57:24
7#
对2取余,余数倒过来就可以啦
回复 使用道具 举报
写的很详细, 谢谢分享
回复 使用道具 举报
chensc 金牌黑马 2015-6-23 19:20:35
9#
学习学习!
回复 使用道具 举报
tabor 中级黑马 2015-6-23 22:07:12
10#
一个十进制数只有二进制不能用现成的函数输出,用移位相与的办法确认简单,很清晰,课程上也是类似的,应当掌握
回复 使用道具 举报
S970028126 发表于 2015-6-22 23:06
#include         
                        void printfBinary(int number);
   ...

好方法。。。顶一下。。。
回复 使用道具 举报
好像是基础班第七天的,十进制数除以二,余数倒排序
回复 使用道具 举报
8除2取余  再倒过来排
回复 使用道具 举报
百度一下
回复 使用道具 举报
厉害。表示完全看不懂啊
回复 使用道具 举报
多谢分享。。come on
回复 使用道具 举报
421方法能非常快速得到二进制。类似于十进制转二进制的8421方法
回复 使用道具 举报
视频讲解的不要太清晰哦,楼主要认真学呀
回复 使用道具 举报
没有人真看视频,兄弟这可不行
回复 使用道具 举报
表示不要这么明显.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马