TOGOUTECH

javascript - "Simulate"JavaScript 中的 32 位整数溢出

coder 2024-05-16 原文

JavaScript 可以很好地处理以下数学运算:

var result = (20000000 * 48271) % 0x7FFFFFFF;

但在某些编程语言中,第一个 int*int 乘法会导致值太大而无法用标准的 32 位整数保存。有什么方法可以在 JavaScript 中“模拟”这个,看看如果乘法导致整数溢出,计算结果会是什么?

最佳答案

可以通过“滥用”JavaScript 中可用的按位运算符来模拟 32 位整数(因为它们只能返回该范围内的整数)。

转换为带符号的 32 位整数:

x = (a * b) | 0;

转换为无符号 32 位整数:

x = (a * b) >>> 0;

关于javascript - "Simulate"JavaScript 中的 32 位整数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577810/

有关javascript - "Simulate"JavaScript 中的 32 位整数溢出的更多相关文章

  1. c# - 使用 LINQ 查找具有特定属性名称和值的 XElement - 2

    XDocumentxDocument=XDocument.Load("...");IEnumerable<XElement>elements=xDocument.Element("lfm").Element("events").Elements("event");try{foreach(XElementelminelements){comm.Parameters.AddWithValue("extID",elm.Element("id").Value??"");c

  2. c# - 如何动态隐藏jqgrid列 - 2

    我正在我的asp.netMVCweb应用程序中实现jqgrid。在我的网格中,我有两列编辑和删除。只有当用户以admin身份登录时,删除才应该可见。我们如何在jqgrid中动态地hide.show列。我有一个session变量来检查登录用户是否是管理员。我在javascript中访问该变量。但是,不确定如何在jqgrid中隐藏/显示列请帮忙.. 最佳答案 使用此代码,jQuery("#list").jqGrid('hideCol',["colModel1_name","colM

  3. c# - 将图像添加到 asp.net 中的链接按钮 - 2

    <asp:GridViewID="Grid_Organisationtable"runat="server"CssClass="string"SelectedIndex="0"DataKeyNames="OrganisationID"ShowHeaderWhenEmpty="True"OnRowDeleting="Grid_Organisationtable_RowDeleting"OnRowEditing="Grid_Organisationtable_Row

  4. c# - 从 ADO.NET 确定 SQL Server 的版本 - 2

    我需要确定连接字符串连接C#控制台应用程序(.NET2.0)的SQLServer版本(在此特定情况下为2000、2005或2008)。任何人都可以提供任何指导吗?谢谢,MagicAndi更新如果可能的话,我希望能够从ADO.NET连接对象中确定SQLServer版本。 最佳答案 此代码将确定正在使用的SQLServer数据库的版本-2000、2005或2008:try{SqlConnectionsqlConnection=newSqlConnection(connectionString);Microsoft.SqlServer.M

  5. c# - 当我们使用时线程被中止 - 2

    我收到以下异常:System.Threading.ThreadAbortException:Threadwasbeingaborted.atSystem.Threading.Thread.AbortInternal()atSystem.Threading.Thread.Abort(ObjectstateInfo)atSystem.Web.HttpResponse.End()atSystem.Web.HttpResponse.Redirect(Stringurl,BooleanendResponse)atSystem.Web.HttpResponse.Redirect(Stringurl

  6. c# - 如何在 VS.NET 2015 中切换上下文? - 2

    我遇到了构建错误,因为我正在使用的某些类在“DNX4.5.1”而不是“DNXCore5.0”中可用。错误是:Thetypeornamespace'[someclass]'couldnotbefound.在“错误列表”窗口的项目栏中,我看到了DNXCore5.0。在上下文菜单中,选择了DNX4.5.1。为什么VS.NET在上下文为4.5.1时尝试继续使用DNXCore5.0? 最佳答案 如果有些人仍在为此苦苦挣扎,您可以通过从project.json文件的框架引用中删除它来取消引用DNXCore5.0。节"fr

  7. c# - 更新后台 worker winforms中的标签文本 - 2

    我正在使用BackGroundWorker类在sqlserver中插入一些值。我在这里有for循环来插入值。我正在使用以下代码publicvoidbw_Convert_DoWork(objectsender,DoWorkEventArgse){e.Result=e.Argument;for(inti=0;i<fTable.Rows.Count;i++){try{SqlCommandcmd=newSqlCommand("INSERTINTOTBL_CDR_ANALYZER(LNG_UPLOAD_ID,DAT_START,LNG_DURATION,INT_DIRECTION,

  8. c# - ASP.NET Gridview 中没有时间的日期格式 - 2

    在ASP.NETgridview中绑定(bind)两个日期。我想显示dd/MM/yyyy但它显示10/03/201400:00:00。<asp:TemplateFieldHeaderText="Fromdate"><ItemTemplate><asp:LabelID="lblFromDate"runat="server"DataFormatString="{0:dd/MM/yyyy}"HtmlEncode="false"Text='<%#Eval("Fro

  9. c# - 序列化json时如何忽略JsonProperty(PropertyName = "someName")? - 2

    我有一些使用ASP.NetMVC的C#代码,它使用Json.Net来序列化一些DTO。为了减少负载,我使用[JsonProperty(PropertyName="shortName")]属性在序列化期间使用较短的属性名称。当客户端是另一个.Net应用程序或服务时,这非常有效,因为反序列化将对象层次结构重新组合在一起,使用更长更友好的名称,同时保持较低的实际传输负载。当客户端通过浏览器使用javascript/ajax时,问题就出现了。它发出请求,并获取json...但json使用的是缩短的不太友好的名称。如何让json.net序列化引擎以编程方式忽略[JsonProperty(Prop

  10. c# - 如何将 "zip"或 "rotate"列为可变数量的列表? - 2

    如果我有一个包含任意数量列表的列表,如下所示:varmyList=newList<List<string>>(){newList<string>(){"a","b","c","d"},newList<string>(){"1","2","3","4"},newList<string>(){"w","x","y","z"},//...etc

随机推荐

  1. c# - 复选框不适用于 bool View 模型属性 - 2

    我正在使用MVC6并且在我的表单中有一个复选框输入字段,但是当提交表单时,复选框的值总是作为false传递给ViewModel:这是在我的ViewModel中声明属性的方式:[Display(Name="IncludeSalesTax")]publicboolIncludeSalesTax{get;set;}下面是我的MVC6razor表单中的表单:<divclass="form-group"><divclass="checkbox"><label><inputasp-for="Inclu

  2. c# - 为什么我得到异常 : Too many automatic redirections were attempted on webclient? - 2

    在form1的顶部我做了:WebClientClient;然后在构造函数中:Client=newWebClient();Client.DownloadFileCompleted+=Client_DownloadFileCompleted;Client.DownloadProgressChanged+=Client_DownloadProgressChanged;然后我每分钟都会调用这个方法:privatevoidfileDownloadRadar(){if(Client.IsBusy==true){Client.CancelAsync();}else{Client.DownloadPr

  3. c# - StartsWith 方法 C# 不返回 TRUE - 2

    我从MSSQL数据库中读取了一些值,我喜欢对字符串进行一些操作。这是我用来检查某个字符串是否以另一个字符串开头的代码:Stringinput="ОсновнотоjавнообвинителстводенескаподнесепријавапротивБМ(59)одБитолазарадипостоењеосновинасомнениедекасторилкривичнидела„тешкиделапротивбезбедностаналуѓетоиимототвосообраќајот“и„неукажувањепомошналицеповреденовосообраќај

  4. c# - 富文本框 - 粗体 - 2

    我知道这里有很多“如何加粗文本”的问题,但没有一个答案有帮助,我认为可能是富文本框是在运行时创建的。我正在制作一个聊天客户端,所以我有一个分成几行的富文本框,消息如下:{名称}:{消息}\r\n我想加粗这个名字,我已经尝试了很多代码示例,但这是我最接近它的工作方式:intlength=textBox.Text.Length;textBox.Text+=roomChatMessage.from+":"+roomChatMessage.text+"\r\n";textBox.Select(length,roomChatMessage.from.Length)

  5. c# - 为什么所有委托(delegate)类型都彼此不兼容? - 2

    在C#中,所有委托(delegate)类型都彼此不兼容,即使它们具有相同的签名。例如:delegatevoidD1();delegatevoidD2();D1d1=MethodGroup;D2d2=d1;//compiletimeerrorD2d2=newD2(d1);//youneedtodothisinstead这种行为和语言设计决策背后的原因是什么。 最佳答案 InC#alldelegatetypesareincompatiblewithoneanother,eveniftheyhavethesamesignature.Wha

  6. c# - 无法为泛型类型创建 TypeConverter - 2

    我想创建一个TypeConverter对于通用类,像这样:[TypeConverter(typeof(WrapperConverter<T>))]publicclassWrapper<T>{publicTValue{//get&set}//othermethods}publicclassWrapperConverter<T>:TypeConverter<T>{//onlysupportToandFromstringspublicoverrideboolCanConvertFrom(ITypeDescriptorContextcon

  7. c# - 无法加载文件或程序集临时 ASP.NET 文件 - 2

    我正在使用C#(.NETFramework4)在ASP.NET上开发一个网站。创建新网站项目后,我尝试运行该项目。但我收到以下错误:Couldnotloadfileorassembly'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\TemporaryASP.NETFiles\myfirst\159977c5\b9e740fc\App_global.asax.yfqtni9g.dll'oroneofitsdependencies.Thesystemcannotfindthefilespecified.我已经浏览

  8. c# - 如何将 xmldocument 保存到流中 - 2

    我已经编写了代码来使用XmlReader解析我的xml文件,所以我不想重写它。我现在已经为程序添加了加密。我有encrypt()和decrypt()函数,它们采用xml文档和加密算法。我有一个使用xml阅读器解析文件的函数,但现在有了xml文档,我不确定如何创建xmlreader。问题是如何将我的xml文档保存到流中。我敢肯定这很简单,但我对流一无所知。XmlDocumentdoc=newXmlDocument();doc.PreserveWhitespace=true;doc.Load(filep);Decrypt(doc,key);StreamtempStream=null;doc

  9. c# 在运行时创建一个未知的泛型类型 - 2

    所以我有一个泛型类,它可能需要在它自己的一个方法中创建一个具有不同类型泛型的实例,其类型是通过反射获得的。这很重要,因为此存储库映射T到数据库表[这是我正在写的一个ORMish],如果代表T的类有一个代表另一个表的集合,我需要能够实例化它并将其传递到存储库[alaInception]。我正在提供方法,以防它更容易发现问题。privatePropertiesAttributesAndRelatedClassesGetPropertyAndAttributesCollection(){//ReturnsaListofPropertyAndAttributesvartype=typeof(T

  10. c# - 通过 SendMessage 或其他方式异步 GetForegroundWindow? - 2

    有没有一种方法可以在焦点从任何窗口更改到另一个窗口(甚至在Windows应用程序之间)时得到通知,这样我就可以在用户更改焦点时立即调用我的委托(delegate)?我一直在想我可能只需要做轮询:(:(每1秒并调用GetForegroundWindow但我真的不想这样做。 最佳答案 SetWinEventHook()可能是你最好的选择;您可以监听EVENT_SYSTEM_FOREGROUND以监听前景窗口的变化-或者甚至监听EVENT_OBJECT_FOCUS以监听应用程序和控件内更精细的焦点变化。您需要将其与WINEVENT_OUT