打印

单片机 位移

[复制链接]
1402|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lilipeeeee|  楼主 | 2015-5-21 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
strcut
{
    int  tt;
    char ss;
} gg  中共40位,执行 gg.tt>>1;gg.ss>>1;   能实现40位整体右移一位吗??   
沙发
luofeng2g| | 2015-5-21 10:31 | 只看该作者
不行!这样只是对具体变量操作,最低位丢失。而且这个结构体貌似也不止40位吧

使用特权

评论回复
板凳
lilipeeeee|  楼主 | 2015-5-21 16:10 | 只看该作者
luofeng2g 发表于 2015-5-21 10:31
不行!这样只是对具体变量操作,最低位丢失。而且这个结构体貌似也不止40位吧 ...

int 32位  char 8位 。大笑能指点下咋样才能行呢

使用特权

评论回复
地板
luofeng2g| | 2015-5-21 17:05 | 只看该作者
本帖最后由 luofeng2g 于 2015-5-21 17:09 编辑

strcut
{
    char ss;     int  tt;
} gg  这样才是40
你要什么效果?全体移位?

使用特权

评论回复
5
yewuyi| | 2015-5-21 17:11 | 只看该作者
8位MCU上,INT多数编译器都是识别为16位,长整型才是32位。

使用特权

评论回复
6
lilipeeeee|  楼主 | 2015-5-22 09:41 | 只看该作者
luofeng2g 发表于 2015-5-21 17:05
strcut
{
    char ss;     int  tt;

这样啊,是的 要实现连续 5字节  全部移位

使用特权

评论回复
7
luofeng2g| | 2015-5-22 09:45 | 只看该作者
这样多麻烦!换种思路,

使用特权

评论回复
8
lilipeeeee|  楼主 | 2015-5-22 11:15 | 只看该作者
luofeng2g 发表于 2015-5-22 09:45
这样多麻烦!换种思路,

把tt的最低位记下,赋给ss的最高位??????

使用特权

评论回复
9
luofeng2g| | 2015-5-22 11:17 | 只看该作者
这样当然可以,但是不麻烦么?可以换着思路啊,为什么一定要整个结构体移位?

使用特权

评论回复
10
lilipeeeee|  楼主 | 2015-5-22 11:20 | 只看该作者
luofeng2g 发表于 2015-5-22 11:17
这样当然可以,但是不麻烦么?可以换着思路啊,为什么一定要整个结构体移位? ...

要求实现一个40位移位寄存器的工作.:lol

使用特权

评论回复
11
luofeng2g| | 2015-5-22 11:24 | 只看该作者
lilipeeeee 发表于 2015-5-22 11:20
要求实现一个40位移位寄存器的工作.

好吧!你结构体那样声明应该是8个字节的,我后面那种才是5个字节的!具体看看结构体的size规则

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
lilipeeeee + 2 很给力!
12
lilipeeeee|  楼主 | 2015-5-22 11:26 | 只看该作者
luofeng2g 发表于 2015-5-22 11:24
好吧!你结构体那样声明应该是8个字节的,我后面那种才是5个字节的!具体看看结构体的size规则 ...

好的。谢谢

使用特权

评论回复
13
ayb_ice| | 2015-5-22 16:34 | 只看该作者
luofeng2g 发表于 2015-5-21 10:31
不行!这样只是对具体变量操作,最低位丢失。而且这个结构体貌似也不止40位吧 ...

strcut
{
    uchar         ss;     // 高8位
        ulong        tt;                // 低32位
}gg;

        bit b = 0;
        if(ss & 0x01){
                b = 1;
        }

        gg.ss >>= 1;
        gg.tt >>= 1;
        if(b){
                gg.tt |= (1ul<<31);
        }

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

28

帖子

1

粉丝