PowerBasic中隐藏的小秘密

C编程中对于单字节的数据有两种定义:

BYTE    无符号1字节   8位

SBYTE  有符号1字节   8位

而在PB 32位编译器下,只约定了BYTE一种单字节数据类型取值范围 0 ~ 255

那么如何为PB定义一个SBYTE的数据类型呢?

在PB的帮助文档中我们发现有一个隐藏的SBIT位定义符,不留意很难查到。

它的作用就是指定位类型为有符号类型,好了下面我们就可以定义一个新的数据类型SBYTE。

'============================
' 1字节 8位
' 取值范围:
' 11111111 ~ 00000000
' -(2^7) ~ (2^7)-1
' -128 ~ 127
'============================
TYPE SBYTE
    b AS SBIT * 8 IN BYTE
END TYPE 

下面编程测试下这个新的数据类型:

    LOCAL a1 AS SBYTE
    LOCAL a2 AS BYTE
    a1.b = -125
    a2   = -125

    MSGBOX "a1.b = "+STR$(a1.b) + $CRLF + _
           "a1 = "  +STR$(a2)

 由测试结果看,新的数据类型已经可以存储有符号byte字型了。

总结:

PB的这个位定义符只能支持BYTE、WORD及DWORD类型,最大支持32位。

只能支持一般的数学运算(加减乘除),不支持位移及其他内置函数。需要自己另行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值