美文网首页
输出补码的第一种方式

输出补码的第一种方式

作者: wangxn | 来源:发表于2016-03-23 16:25 被阅读0次

#include <stdio.h>
#include <stdlib.h>

char * getComplement(int num, int len);

int main(void){ int num; int len = sizeof(int) * 8; printf("%s\n", "please enter a number:"); scanf("%d", &num); char * complement = getComplement(num, len); printf("the number %d 's complement is :\n%s\n", num, complement); free(complement); return 0; }

//获取一个num数的补码 char * getComplement(int num, int len){ int i; int data = (1<<(len - 1)); char * retVal = (char * )malloc(sizeof(char) * (len / 4 - 1));; int j = 0; for (i = 0; i<len; i++){ if(i %4 == 0 && i != 0){ sprintf(retVal + (j++), "%c", ' '); } sprintf(retVal + (j++), "%c", ((num & data) == data)? '1': '0'); num<<=1; } return retVal; }

相关文章

  • 输出补码的第一种方式

    #include #include char * getComplement(int num, int len)...

  • PHP-几行代码翻转链表

    声明结构 输出 第一种翻转方式 (递归) 第二种翻转方式 (循环) 输出

  • Python中的输出

    第一种输出方式:print输出 >>>print('Hello world!')Hello world!#通过转义...

  • 输出补码的第二种方式

    #include #include //模拟一个字节的数据 typedef struct _bitStruct{...

  • 剑指Offer面试题15 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解析: 第一种:最优解,本身通过与 n...

  • 剑指offer最优解Java版-二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 第一种方案 复杂度分析: 时间复杂度:...

  • int数字的表示

    在计算机中int型数字使用补码的形式在存储。首先说明补码的计算方式。正数和零的补码就是他们本身。负数的补码是符号位...

  • 计算机为什么要使用原码、反码、补码

    1. 什么是原码、反码、补码 先看一个例子: +1和-1的原码、反码、补码的表示 原码、反码、补码的计算方式如下:...

  • 二进制中1的个数

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 第一种 用1去和n做与运算,然后检查最低位是否是...

  • 进制关系

    各进制的形式 正数的原码、反码、补码相同 负数的反码为原码各位取反,补码为反码+1 计算机的底层都是以补码的方式来...

网友评论

      本文标题:输出补码的第一种方式

      本文链接:https://www.haomeiwen.com/subject/xuollttx.html