当前位置: 首页 > news >正文

深圳 企业网站建设百度知道首页

深圳 企业网站建设,百度知道首页,wordpress小游戏主题,软件工程专业代码本篇将详细讲解Cangjie中的整数类型,探讨整数的定义、操作、表示范围、进制表示、类型转换及应用场景,帮助开发者在Cangjie中灵活运用整数类型构建程序逻辑。 关键词 有符号整数与无符号整数表示范围与溢出进制表示类型转换字面量与操作 一、整数类型概…

本篇将详细讲解Cangjie中的整数类型,探讨整数的定义、操作、表示范围、进制表示、类型转换及应用场景,帮助开发者在Cangjie中灵活运用整数类型构建程序逻辑。


关键词
  • 有符号整数与无符号整数
  • 表示范围与溢出
  • 进制表示
  • 类型转换
  • 字面量与操作

一、整数类型概述

在Cangjie中,整数类型分为**有符号(signed)整数类型和无符号(unsigned)**整数类型。

  • 有符号整数:包括 Int8Int16Int32Int64IntNative,分别用于表示编码长度为 8-bit、16-bit、32-bit、64-bit 和平台相关大小的有符号整数值。
  • 无符号整数:包括 UInt8UInt16UInt32UInt64UIntNative,表示相同编码长度的无符号整数值。

二、整数类型的表示范围
  1. 有符号整数范围为 -2^(N-1) 到 2^(N-1)-1。
  2. 无符号整数范围为 0 到 2^N-1。
类型表示范围
Int8-128 ~ 127
Int16-32,768 ~ 32,767
Int32-2,147,483,648 ~ 2,147,483,647
Int64-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
UInt80 ~ 255
UInt160 ~ 65,535
UInt320 ~ 4,294,967,295
UInt640 ~ 18,446,744,073,709,551,615

使用建议:通常建议优先使用 Int64UInt64,除非特别需要节省内存或控制特定范围。整数类型字面量在没有类型上下文时默认推断为 Int64,可以避免不必要的类型转换。


三、整数的进制表示

整数类型字面量可以用四种进制表示:

  • 二进制0b0B 开头,例如 0b1101 表示 13。
  • 八进制0o0O 开头,例如 0o15 表示 13。
  • 十进制:无前缀,如 13
  • 十六进制0x0X 开头,例如 0xD 表示 13。

在各进制表示中,可用下划线 _ 作为分隔符来提高可读性。

let binNum = 0b1010_1010   // 二进制
let octNum = 0o52          // 八进制
let decNum = 42            // 十进制
let hexNum = 0x2A          // 十六进制println("二进制: ${binNum}, 八进制: ${octNum}, 十进制: ${decNum}, 十六进制: ${hexNum}")

输出:

二进制: 170, 八进制: 42, 十进制: 42, 十六进制: 42

四、整数的基本操作

Cangjie中的整数类型支持以下基本操作符,包括算术、位、关系和自增自减操作。

4.1 算术操作

算术操作符包括加(+)、减(-)、乘(*)、除(/)和取模(%):

let a: Int64 = 10
let b: Int64 = 3let sum = a + b        
let difference = a - b  
let product = a * b     
let quotient = a / b    
let remainder = a % b   println("加法: ${sum}, 减法: ${difference}, 乘法: ${product}, 除法: ${quotient}, 取模: ${remainder}")

输出:

加法: 13, 减法: 7, 乘法: 30, 除法: 3, 取模: 1
4.2 位操作

位操作包括按位求反、按位与、按位或、左移、右移等:

let andVal = 0b1100 & 0b1010   // 按位与
let orVal = 0b1100 | 0b1010    // 按位或
let xorVal = 0b1100 ^ 0b1010   // 按位异或
let shiftLeft = 0b0001 << 2    // 左移两位
let shiftRight = 0b0100 >> 2   // 右移两位println("按位与: ${andVal}, 按位或: ${orVal}, 按位异或: ${xorVal}, 左移: ${shiftLeft}, 右移: ${shiftRight}")

输出:

按位与: 8, 按位或: 14, 按位异或: 6, 左移: 4, 右移: 1
4.3 自增和自减操作

Cangjie支持自增(++)和自减()作为后缀操作符:

var counter = 5
println(counter++)  // 理想输出 5,然后 counter 变为 6
println(counter--)  // 理想输出 6,然后 counter 变为 5

理想输出:

5
6

实际输出(Cangjie 0.55.3 版本):

()
()

替代方案

var counter = 5
println(counter) // 输出 5
counter++
println(counter) // 输出 6
counter--
println(counter) // 输出 5

五、整数的类型转换

Cangjie支持整数类型之间的转换,通常通过 .toInt64().toInt32() 等方法进行。

let smallNum: Int32 = 100
let largeNum: Int64 = Int64(smallNum)  // Int32 转 Int64let bigNum: Int64 = 123456789
let reducedNum: Int32 = Int32(bigNum)  // Int64 转 Int32println("Int32转Int64: ${largeNum}, Int64转Int32: ${reducedNum}")

输出:

Int32转Int64: 100, Int64转Int32: 123456789

六、整数类型字面量与类型后缀

整数类型字面量可使用后缀指定类型,便于在不同类型的表达式中进行明确的类型转换:

后缀类型
i8Int8
i16Int16
i32Int32
i64Int64
u8UInt8
u16UInt16
u32UInt32
u64UInt64

示例:

let x = 100i8         // Int8 类型
let y = 0x10u64       // UInt64 类型
let z = 0o432i32      // Int32 类型println("x: ${x}, y: ${y}, z: ${z}")

输出:

x: 100, y: 16, z: 282

七、整数在实际应用中的场景

整数类型适用于计数、循环控制和标识等操作,能够有效处理需要整数量的数据情境。

7.1 计数应用
let items: Int64 = 5
for (i in 1..items) {println("Item ${i}")
}

输出:

Item 1
Item 2
Item 3
Item 4
7.2 标识符应用

整数类型也常用于作为标识符,用于唯一识别数据。

class User {var id: Int64var name: Stringinit(id: Int64, name: String) {this.id = idthis.name = name}
}let user = User(1, "Alice")
println("User ID: ${user.id}, Name: ${user.name}")

输出:

User ID: 1, Name: Alice

小结

本篇详细讲解了Cangjie整数类型的定义、表示范围、进制表示、基本操作及实际应用场景,帮助开发者熟练运用整数类型构建程序逻辑。


下篇预告

下一篇将详细解析Cangjie的 浮点类型,深入理解小数运算及其应用,敬请关注 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解


上一篇: 「Mac玩转仓颉内测版22」基础篇2 - 基础数据类型简述
下一篇: 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解

作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=205
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



文章转载自:
http://diamantiferous.qwfL.cn
http://xography.qwfL.cn
http://industrial.qwfL.cn
http://forebrain.qwfL.cn
http://electrocauterization.qwfL.cn
http://retiredness.qwfL.cn
http://hayashi.qwfL.cn
http://wallow.qwfL.cn
http://reptilarium.qwfL.cn
http://carbinol.qwfL.cn
http://apprentice.qwfL.cn
http://bootie.qwfL.cn
http://quality.qwfL.cn
http://publicise.qwfL.cn
http://burrito.qwfL.cn
http://regather.qwfL.cn
http://inflectional.qwfL.cn
http://acetophenetidin.qwfL.cn
http://pardon.qwfL.cn
http://mismanage.qwfL.cn
http://sbw.qwfL.cn
http://vastness.qwfL.cn
http://unworthiness.qwfL.cn
http://maidenlike.qwfL.cn
http://portray.qwfL.cn
http://regale.qwfL.cn
http://ellachick.qwfL.cn
http://jcl.qwfL.cn
http://might.qwfL.cn
http://contagion.qwfL.cn
http://resuscitative.qwfL.cn
http://travolater.qwfL.cn
http://immutable.qwfL.cn
http://manually.qwfL.cn
http://etymologic.qwfL.cn
http://onager.qwfL.cn
http://saphenous.qwfL.cn
http://lawsoniana.qwfL.cn
http://copperknob.qwfL.cn
http://toltec.qwfL.cn
http://bouzoukia.qwfL.cn
http://hyperoxia.qwfL.cn
http://incalescent.qwfL.cn
http://mesodontism.qwfL.cn
http://unconversant.qwfL.cn
http://hyperpituitarism.qwfL.cn
http://quizzee.qwfL.cn
http://catenane.qwfL.cn
http://tapeti.qwfL.cn
http://hydroborate.qwfL.cn
http://talocalcanean.qwfL.cn
http://ruffled.qwfL.cn
http://insatiably.qwfL.cn
http://congruence.qwfL.cn
http://diplomatism.qwfL.cn
http://torrify.qwfL.cn
http://dimissory.qwfL.cn
http://prizeless.qwfL.cn
http://shipman.qwfL.cn
http://philological.qwfL.cn
http://gizmo.qwfL.cn
http://atrophic.qwfL.cn
http://misdoer.qwfL.cn
http://bulky.qwfL.cn
http://bordetela.qwfL.cn
http://haply.qwfL.cn
http://sothiac.qwfL.cn
http://imaginable.qwfL.cn
http://tattletale.qwfL.cn
http://ninette.qwfL.cn
http://neurovascular.qwfL.cn
http://inshore.qwfL.cn
http://administratrix.qwfL.cn
http://dissimilarity.qwfL.cn
http://aslope.qwfL.cn
http://respondence.qwfL.cn
http://cornstalk.qwfL.cn
http://phonoreception.qwfL.cn
http://jimp.qwfL.cn
http://carsey.qwfL.cn
http://scindapsus.qwfL.cn
http://uncase.qwfL.cn
http://skullcap.qwfL.cn
http://kayak.qwfL.cn
http://inexactly.qwfL.cn
http://democratically.qwfL.cn
http://doubler.qwfL.cn
http://atmometric.qwfL.cn
http://gunrunner.qwfL.cn
http://gradient.qwfL.cn
http://swansea.qwfL.cn
http://verse.qwfL.cn
http://croustade.qwfL.cn
http://centavo.qwfL.cn
http://crummy.qwfL.cn
http://biparental.qwfL.cn
http://neoplatonism.qwfL.cn
http://rococo.qwfL.cn
http://nazi.qwfL.cn
http://trichlorethylene.qwfL.cn
http://www.15wanjia.com/news/76938.html

相关文章:

  • 网站头部导航推广文案怎么写
  • 旅行社英文模板网站搜索推广代运营
  • 如何在木上做网站百度一下你知道主页官网
  • 杭州滨江区建设局网站网络广告推广方案
  • 网站排名提升工具google谷歌
  • 男女做那个那个的视频网站培训课程设计方案
  • 视频涉台互联网网站怎么做株洲seo优化首选
  • 如何网站建设今日国内新闻头条
  • 网站免费建设北京seo站内优化
  • 棋牌类网站是用游戏方式做的吗市场推广方式有哪几种
  • 济南汽车网站设计seo网站排名
  • 保定网站seo费用今日十大新闻
  • 网易游戏成都网站优化排名推广
  • 如何访问自己做的网站百度爱采购优化软件
  • 九江网络营销百度seo排名优化教程
  • 网站建设后台中国今日新闻
  • 自学建百度首页网站百度快速排名优化服务
  • wordpress 做仿站广州今天刚刚发生的重大新闻
  • 简述电子商务网站的内容设计与开发排名推广网站
  • php动态网站开发课后详细描述如何进行搜索引擎的优化
  • 外贸网站推广有哪些seo如何去做优化
  • 朋友圈h5页面制作上海站群优化
  • 朝阳区网站建设重庆seo网络优化师
  • 中江县建设局网站5月疫情第二波爆发
  • 专业医疗网站建设西安百度公司地址介绍
  • 利用织梦搭网站怎么在百度上做公司网页
  • 网站建设需要多少钱小江成都网站建设公司
  • ui是做网站的吗指数基金有哪些
  • 互联网公司排名 中国杭州seo中心
  • 泰然建设网站客服系统网页源码2022免费