Go 语言中的 >> 是什么意思?

2023-12-31

我正在寻找有关 Google Go 语言的信息。在“A Tour of Go”中,他们有这样的代码:

const (
    Big = 1<<100
    Small = Big>>99
)

但做什么<< and >> mean?

您可以在以下位置查看所有代码http://tour.golang.org/#14 http://tour.golang.org/#14


They are bitwise shift operators http://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts. x << y means x × 2y, while x >> y means x × 2−y or, equivalently, x ÷ 2y. These operators are generally used to manipulate the binary representation of a value, where, just like with a power of 10 in decimal, multiplying or dividing by a power of two has the effect of “shifting” the digits left or right, respectively:

// Left shift:

  13 *  2 ==    26 // decimal
1101 * 10 == 11010 // binary (13 is 8 + 4 + 0 + 1)

// Right shift (brackets denote discarded portion):

  13 /  2 ==   6[.5] // decimal
1101 / 10 == 110[.1] // binary

由于您正在对整数进行操作,并且右移通常会产生小数值,因此有多种方法可以处理右移结果的舍入方式。在 Go 中,右移是逻辑移位 http://en.wikipedia.org/wiki/Logical_shift关于无符号值和算术移位 http://en.wikipedia.org/wiki/Arithmetic_shift关于有符号值。逻辑移位总是向零舍入,而算术移位总是向下舍入,即向−∞舍入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go 语言中的 >> 是什么意思? 的相关文章

  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 如何关闭 gorm 1.20.0 中的数据库实例

    由于我没有在 Close 函数中找到 gorm 实例 任何帮助将不胜感激 dbURI fmt Sprintf user s password s dbname s port s sslmode s TimeZone s username p
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 与通道相比,sync.WaitGroup 的优势是什么?

    我正在开发一个并发 Go 库 我偶然发现了 goroutine 之间两种不同的同步模式 其结果相似 等待组 https play golang org p ZYPLlcp16TZ package main import fmt sync t
  • 为什么随机不那么随机?

    有人可以解释一下现代编程语言 java c python javascript 如何应对随机性的限制以及这些限制 例如基于时间的种子 的起源 即 如果它们是由底层操作系统和基于英特尔的硬件强加的 基本上我想了解为什么没有适当的硬件就没有真正
  • 将产生 goroutine 的 golang 方法

    据我所知 如果 goroutine 太忙 它们会阻止其他 goroutine 运行 对我来说 这意味着我的应用程序的性能和响应能力可能取决于我知道哪些库方法将控制其他 goroutine 例如通常是 Read 和 Write 有什么方法可以
  • 当使用 k8s.io/client-go 库的 kubernetes 部署发生更改时获得通知的最佳方式是什么?

    Context 我正在编写一个使用k8s io client go https github com kubernetes client go 图书馆 这里是 godocs https godoc org k8s io client go
  • Go 编译器有窗口化设置选项吗?

    我正在使用 Go 6g 编译 GTK 应用程序 我想知道是否有编译器 链接器选项使其成为 Windows 可执行文件而不是控制台可执行文件 MinGW 有一个 mwindows 选项来实现此目的 目前我必须使用十六进制编辑器手动更改 PE
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • 指针上定义的方法仍然可以用值调用

    Effective Go 文档说明如下 关于接收者的指针与值的规则是 可以在指针和值上调用值方法 但只能在指针上调用指针方法 http tip golang org doc effective go html pointers vs val
  • “http:多个response.WriteHeader调用”有什么不好的影响?

    尽管我发现 http 多个响应 WriteHeader 调用 例外 但我的服务器表现良好 此异常不会导致我的服务器出现恐慌或行为异常 我进行了很多搜索 但只找到了如何解决这个问题 没有文档描述异常的不良影响 有人可以帮我找出为什么 http
  • 字节数组的快速位移 - CMAC 子键

    我需要尽可能快地实现 16 字节数组的左移JavaCard 我尝试了这段代码 private static final void rotateLeft final byte output final byte input short car
  • Golang const unsafe.Sizeof

    不明白为什么我可以做到 const OK uint64 0 const OK int unsafe Sizeof uint64 0 但不是这个 const NOK binary Size uint64 0 它的解释在规格 https gol
  • 如何读取 UDP 连接直至超时?

    我需要读取 UDP 流量 直到超时 我可以通过在 UDPConn 上调用 SetDeadline 并循环直到出现 I O 超时错误来做到这一点 但这看起来很黑客 基于错误条件的流量控制 下面的代码片段看起来更正确 但并没有终止 在生产中 这
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • 子字符串和 Go 垃圾收集器

    在 Go 中获取字符串的子字符串时 不会分配新的内存 相反 子字符串的底层表示包含一个数据指针 该指针是原始字符串的数据指针的偏移量 这意味着 如果我有一个大字符串并希望跟踪一个小子字符串 则垃圾收集器将无法释放任何大字符串 直到我释放对较
  • 如何在 Go 中获取给定月份的第一个星期一?

    我正在尝试获取给定月份的第一个星期一 我能想到的最好方法是循环前 7 天 然后返回 Weekday Monday 有一个更好的方法吗 通过查看时间的 Weekday 您可以计算出第一个星期一 package main import fmt
  • 对无符号 8 位整数进行左移操作 [重复]

    这个问题在这里已经有答案了 我试图理解 C C 中的移位运算符 但它们给我带来了困难 我有一个无符号 8 位整数 初始化为一个值 例如 1 uint8 t x 1 根据我的理解 它在内存中的表示方式如下 0 0 0 0 0 0 0 1 现在
  • Go 指针 - 通过指针将值附加到切片

    我有一个 struct ProductData 及其实例 p 它有一个切片属性 type ProductInfo struct TopAttributes map string interface 我想设置 TopAttributes 如下
  • 共享 GOPATH 的良好做法是什么?

    我刚刚开始学习 Go 并阅读现有代码以了解 其他人是如何做的 在这样做时 go 工作空间 的使用 特别是当它与项目的依赖项相关时 似乎无处不在 在处理各种 Go 项目时 使用单个或多个 Go 工作区 即 GOPATH 的定义 的常见最佳实践

随机推荐

  • Apache CGI 重定向到绝对 URI 不起作用

    我在 Windows 上以控制台模式运行 Apache 2 2 13 我制作了一个处理请求的可执行文件 在某些情况下 当它检测到指向目录但没有尾部斜杠的 URL 时 它会尝试重定向到附加了缺少的斜杠的同一 URL 退出代码设置为 301 奇
  • Python:查找列表中最长/最短的单词并在函数中调用它们

    我有一个单词列表 单词 阿尔法 欧米伽 上 下 上 下 紫色 红色 蓝色 绿色 我有两个函数应该找到此列表中最短和最长的单词 def bigWords list args largestWord largestLen 0 for word
  • htaccess 规则在本地主机上不起作用

    抱歉我改变了之前的问题 我在 localhost 上遇到 htaccess 重写规则问题 我在 http localhost testing htaccess 中有 htaccess 文件 我想更改如下所示的网址 http localhos
  • PHP 和 MySQL 计算动态页面浏览量的最佳方法

    计算动态页面 如下面的 url 示例 的页面浏览量的最佳方法是什么 我正在使用 PHP 和 MySQL 简短的解释会有所帮助 谢谢 http www example com posts post php id 3 http www exam
  • 使用 Dajaxice 获取 AJAX 调用的对象值

    我有一个Song模型与一个votes属性 我有一个Vote as Favourite每个按钮下方显示Song目的 我希望当用户点击Vote as Favourite按钮votes与此相关的属性Song对象应该增加 1 并且所有Vote as
  • 当模型中的列表更改时,ViewModel 中的 ObservableCollection 不会更新

    假设我有一个模型类Data我想创造DataViewModel and DataView为了它 数据类如下所示 public class Data public Data RandomData new List
  • 集合属性应该是只读的 - 漏洞?

    在遵守代码分析错误的过程中 我正在更改我的属性以拥有私有设置器 然后我开始尝试去理解why多一点 MS 表示 根据一些研究this http msdn microsoft com en us library ms182327 aspx 可写
  • 为什么在对话流中创建的丰富消息不会出现在 Slack 上测试的机器人中?

    我为默认欢迎意图创建了两个答案 一个是默认的 另一个是显示在 Slack 中的文本响应 另一个使用 Slack 作为我的机器人的通道 单击 添加响应 开始使用 Dialogflows UI 为 Slack 创建响应 第二个如下 blocks
  • 如何使用持久堆图像在 Isabelle/jEdit 中更快地加载理论?

    假设我有一个目录isabelle afp存储了很多理论的地方 该目录是一个库 我不打算更改其中的文件 我想加快 Isabelle jEdit 的启动时间 默认情况下 所有理论isabelle afp我当前的理论取决于重新处理 我怎样才能跳过
  • 强制 Windows 视频驱动程序重新加载。有可能吗?

    某些驱动程序在启动时加载时使用注册表中写入的参数来配置自身 我可以修改这些值然后重新启动 但我想知道是否可以强制重新加载驱动程序 使更改在不重新启动的情况下生效 具体来说 我正在谈论视频驱动程序 nvidia 我在某处读到 通过 pINvo
  • 设置字节编译目标文件函数

    我想使用相对路径设置 emacs lisp 字节编译的目标目录 例如 foo 我发现我应该使用byte compile dest file function 但不知道如何设置 我该如何设置呢 要设置byte compile dest fun
  • 如何使用十六进制表示法为 char* 赋值?

    我通常按 以下方式使用指针 char ptr malloc sizeof char 100 memset ptr 0 100 strncpy ptr cat 100 1 但这次我不想使用 cat 而是使用十六进制的 ASCII 等效值 猫
  • NLog v2 可以与 Common.Logging 一起使用吗

    我今天尝试将它们一起使用 但发现版本不匹配 因为它正在寻找 NLog v1 Common Logging 支持 NLog v2 吗 如果没有 有人知道是否可以安全地使用程序集版本重定向吗 您可以简单地在 app config 或 web c
  • 如何在 ES6 中创建主导入文件?

    我正在寻找使用创建一个主导入文件ES6句法 我有一个组件目录index js file 我想export如果有意义的话 进口 本质上 我想将各个组件文件导入然后导出到索引文件中 以便我可以解构我的imports来自任何其他文件 如下所示 i
  • jQuery 颜色 **样本** 选择器

    有没有人编写了一个 jQuery 查询颜色选择器 可以让您从预定的颜色列表中选择颜色 类似于电子商务网站上的产品颜色选择器 我所做的大部分搜索都揭示了许多通用目的 即在 RGB 光谱中选择任何颜色 但很少有用于选择特定颜色的选项 我制造了一
  • 调整 HTML5 画布大小以适合窗口

    如何自动缩放 HTML5
  • Firebase云功能自定义域[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何将 firebase 的新 HTTPS 云功能连接到自定义域 因此 例如 example com 将转到 us central1 MY
  • Tomcat 8 无法加载网站

    我是 java servlet 编程的新手 正在学习这一点 我的 debian 计算机上安装的 tomcat 最初可以显示默认的示例网页 但是将 var lib tomcat8 webapps ROOT 中的加载文件替换为示例页面后 网站无
  • Retrofit2 反序列化响应主体,即使响应不是 200

    我希望能够反序列化对同一 Java 对象的网络响应 即使响应不成功 目前 当我收到像 403 这样的错误响应时 响应正文为空 我希望使用 response errorBody 方法来读取已发回的任何内容 这是可以的 但是我想避免在改造回调中
  • Go 语言中的 >> 是什么意思?

    我正在寻找有关 Google Go 语言的信息 在 A Tour of Go 中 他们有这样的代码 const Big 1 lt lt 100 Small Big gt gt 99 但做什么 lt lt and gt gt mean 您可以