| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1129 人关注过本帖
标题:位数组 帮忙改一下 这个代码怎么才能实现具体位的置1(c和指针的一道题)
取消只看楼主 加入收藏
Feiyiyi1
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-10-22
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:1 
位数组 帮忙改一下 这个代码怎么才能实现具体位的置1(c和指针的一道题)
程序代码:
#include <stdio.h>
#include <limits.h>

unsigned character_offset( unsigned bit_number )
{

    int c1=bit_number / CHAR_BIT;
    return c1;                       //计算bit_number第几个字节内
}

unsigned bit_offset( unsigned bit_number )
{
    int j=bit_number % CHAR_BIT;
    return j;                       //计算bit_number 在最高字节里是第几位
}

void set_bit( char bit_array[], unsigned bit_number )    //把指定的位设置为 1
{
    printf("char %c\n",bit_array[character_offset(bit_number)]);
    printf("int  %d\n",bit_array[character_offset(bit_number)]);

    bit_array[ character_offset(bit_number) ] |=
    ( 1 << bit_offset(bit_number) );

    printf("char %c\n",bit_array[character_offset(bit_number)]);
    printf("int  %d\n",bit_array[character_offset(bit_number)]);
}

int main()
{
    char a[20] = "10001100001";
    printf("int       a[0]=%d\nchar      a[0]=%c\n",a[0],a[0]);
    printf("CHAR_BIT: %d\n",CHAR_BIT);
    set_bit(a, 10);
    printf( "%s\n",a );

    return 0;
}
搜索更多相关主题的帖子: 指针 unsigned char int printf 
2017-10-30 14:20
Feiyiyi1
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-10-22
收藏
得分:0 
改动一下上面的代码  上面的代码是c和指针作者就是没有主函数,主函数是自己写的  
2017-11-01 14:44
快速回复:位数组 帮忙改一下 这个代码怎么才能实现具体位的置1(c和指针的一道题 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023514 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved