确定代码690231456982左侧数据字符的php 二进制转字符串表示

lintcode入门(1)
Lintcode容易题
二进制求和
查看运行结果&
给定两个二进制字符串,返回他们的和(用二进制表示)。
public class Solution {
* @param a a number
* @param b a number
* @return the result
public String addBinary(String a, String b) {
//java代码思路:
/*和求两个链表的和很类似
考虑进位,考虑最后一项的进位
0+0 = 0 不需要进位
0+1 = 1 不需要进位
低位进1,高位时1+1的情况,直接加就是3了,这个需要进位1 ,原位的结果也是1的情况
// Write your code here
String result = &&;
int aLen = a.length() - 1;
int bLen = b.length() - 1;
int sum = 0;
while(aLen&=0 || bLen&=0){
if(aLen&=0){
sum +=Integer.parseInt(a.substring(aLen,aLen+1));
if(bLen&=0){
sum +=Integer.parseInt(b.substring(bLen,bLen+1));
if(sum==2){
result = &0& +
}else if(sum==0 || sum==1) {
result = sum +&& +
}else if(sum==3){
result = &1& +
if(sum==1)
result = &1& +
}&/pre&&p&C++代码:&/p&&p&&/p&&p&&/p&&pre name=&code& class=&cpp&&class Solution {
* @param a a number
* @param b a number
* @return the result
string addBinary(string& a, string& b) {
// Write your code here
string result = &&;
int c = 0, num = 0;
int i = a.size() - 1, j = b.size() - 1;
for (; i &= 0 && j &= 0; i--, j--){
num = (a[i] - '0') + (b[j] - '0') +
c = num / 2;
num = num % 2;
result += ('0' + num);
for (; i &= 0; i--){
num = (a[i] - '0') +
c = num / 2;
num = num % 2;
result += ('0' + num);
for (; j &= 0; j--)
num = (b[j] - '0') +
c = num / 2;
num = num % 2;
result += ('0' + num);
if (c != 0) {
result += ('0' + c);
i = 0; j = result.size() - 1;
while (i & j){
char temp = result[i];
result[i] = result[j];
result[j] =
//int main(){ string s1 = &11&; string s2 = &1&; S cout && st.addBinary(s1, s2); return 0;}
整理的题目的相应的C++和java的源代码
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:622次
排名:千里之外
原创:20篇下次自动登录
现在的位置:
& 综合 & 正文
每日学习总结:DropDownList是否已选择验证、存储过程参数为sql字符串问题、将截断字符串或二进制数据。\r\n语句已终止
如何验证DropDownList是否已选择
上周在项目开发中遇到这样一个问题,在做基础数据管理时,需要进行数据的新增和修改,在Editor页上有一个表单字段的内容是从DropDownList里边选的,DropDownList默认的选项为“请选择”,如何在客户端对用户是否选择进行校验?
因为是基础数据管理,所以对整个性能的要求不是特别的严格,整个表单的验证都是使用的ASP.NET里边的验证控件,因为DropDownList有默认的选择项为“请选择”,所以就算用户什么都不选,DropDownList也会有值,不能用RequiredFieldValidator(必须字段验证)验证,这里用的是RegularExpressionValidator(正则表达式验证) 正则表达式验证控件。
接着问题又来了,如何写这样的一个正则表达式呢?在网上看了一些关于匹配中文字符串的正则,但是在做测试的时候发现都不是很好用,有时候还检测不出来。然后就又对要选择的表单字段的内容进行了分析,该表单的内容除了默认的“请选择”这一项为中文外,其他的均为“.字母”这样的形式。所以就有了以下两种思路。
1) 验证起始字符为不为“请”
对应的正则:^[^请]+
2) 验证字符串格式为“.字符”
对应的正则:\.[A-Z,a-Z]+
以上两种方法均很好的解决验证DropDownList是否已被选择的问题,第一种方法是比较通用的,对所有的DropDownList均适用,第二种方法是针对该问题而言的,比较具有针对性,只是一种解决问题的思路而已。
示例如下:
&asp:Label ID="lbcountry" runat="server" Text="所属国家"&&/asp:Label&
&asp:DropDownList ID="Country_Code" runat="server"&
&%-- &asp:ListItem&请选择&/asp:ListItem&
&asp:ListItem Value="HK"&Hong Kong&/asp:ListItem&
&asp:ListItem Value="ZA"&South Africa&/asp:ListItem&
&asp:ListItem Value="VN"&Viet Nam&/asp:ListItem&
&asp:ListItem Value="UA"&Ukraine&/asp:ListItem&
&asp:ListItem Value="SE"&Sweden&/asp:ListItem&
&asp:ListItem Value="RU"&Russian Federation&/asp:ListItem&
………………..
&/asp:DropDownList&
&asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
ErrorMessage="请选择国家" ControlToValidate="Country_Code" ValidationExpression="^[^请]+"&&/asp:RegularExpressionValidator&
存储过程的参数为sql字符串问题
因为之前做基础数据管理查询、分页用的都是执行的sql语句,每次都需要重新拼接Sql语句,这个数据量目前有10多万,以后还会再增加,在项目任务完成之后想着对查询分页优化一下,把查询分页改为存储过程,这样可以提升一些的效率。查询分页的存储过程需要传入三个参数,分别是“每页显示的信息条数”,“显示前多少条信息”,“和查询过滤的sql语句”。查询分页的存储过程(示例)如下:
CREATE PROCEDURE [dbo].[get_gtld_pager]
@pagesize int,
@sizecount int,
@sqlstr nvarchar(1000)
Select Top @pagesize id,iana_id,tld,registrar_name,total_domains,total_nameservers,convert(varchar(20),publishdate,111) as publishdate
where id not in(select top @sizecount id from Test order by id asc) @sqlstr
order by id asc
在执行的时候,老是提示如下的错误:
消息102,级别15,状态1,第1 行
附近有语法错误。 消息102,级别15,状态1,第1 行
附近有语法错误。
后来在查找了一些资料发现,在存储过程中select top 的值不能为参数,同时存储过程中不能执行参数为sql字符串。
当然,问题有解决的办法,主要核心的思想分两步:
1) 声明一个@sql字符串,将传入的参数与存储过程中的sql语句拼接成字符串@sql
2) 通过excute(@sql)的方式执行即可
所以修改后的存储过程如下:
ALTER PROCEDURE [dbo].[get_gtld_pager]
@pagesize int,
@sizecount int,
@sqlstr nvarchar(1000)
declare @sql nvarchar(4000)
set @sql='Select Top '+ cast(@pagesize as nvarchar(4000))+' id,iana_id,tld,registrar_name,total_domains,total_nameservers,
convert(varchar(20),publishdate,111) as publishdate from GTLDSalesReport
where id not in(select top '+ cast(@sizecount as nvarchar(4000))+' id from GTLDSalesReport order by id asc) '+@sqlstr+' order by id asc'
execute(@sql)
将截断字符串或二进制数据。\r\n语句已终止。
在做基础数据维护时,因为期间又临时被调去做了些其他的工作,对数据表进行了一些修改,当时匆忙忘了做背后,后来回来再做基础数据的维护进行数据的新增时遇到了这样的一个问题:“将截断字符串或二进制数据。\r\n语句已终止。”,很明显是字符的溢出,以为自己的程序的参数问题,检查了一遍,没发现什么不对的地方,然后又去看数据表结构,原来期间对表字段进行了修改,字段的长度变短了,而实际插入的数据长度超过了其最大长度限制,所以才会有这样的问题。只需要把数据库字段的长度改大一点即可。
刚刚有朋友评论指出了其中的一些问题,自己思考、并且操作以后觉得确实有道理,所以在此进行更正。
关于DropDownList是否已选择的验证问题
因为当时只顾得验证“请选择”项的问题了,没有注意到其实可以将“请选择”项的值设置为””,即:&asp:ListItem value=””&请选择&/asp:ListItem&,这样可以通过验证值是否为空字符串来验证,这个确实很好用,可以省下很多的事儿。
关于存储过程中参数为sql字符串的问题
因为上边提到的存储过程是用来分页的,里边的top值为传入的参数,直接执行的时候会提示有错误,此外因为传入的还有sql字符串参数,所以就把传入的参数和存储过程里的sql语句进行了拼接,事实上top值的参数可以加”()”括号即可,但是关于sql字符串的参数还需要转换为字符串,进行拼接然后执行excute(sql)方法才行
非常感谢该网友的评论,受教!受教!
&&&&推荐文章:
【上篇】【下篇】第二章 物流条码技术_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第二章 物流条码技术
上传于||暂无简介
大小:2.72MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢Fortran把字符型数据输出为二进制_百度知道
Fortran把字符型数据输出为二进制
&DX&quot,FORM='UNFORMATTED&#39,&quot,&quot, status='simulation results&&quot,这些数据输出后用tecplot后处理;)&VARIABLES=&quot,&Y&quot! gfz write(666)
&quot,&;&quot! binary outputwrite(666) &quot输出二进制是为了减小生成文件的大小!open(666;&quot。请问怎么修改;&VX&quot,&;&DY&&VY&quot,执行后发现这部分不是二进制;&&&X&quot,&&&&,file = ch_&;&;&DAM"下面是我的部分代码;&;?多谢;W& ;&unknown'&TITLE=&
提问者采纳
例如字符串,这就是二进制的。也不会减小文件的大小;direct&#39。如果你只输出字符串,而不是顺序读写,才有差异,例如 This program cann&#39,但你输出的数据。也就是 access = &#39。你可以试试用记事本打开一个 exe 文件,那么文本文件和二进制文件就完全没有任何差异了。只有整型和浮点数,字符串的二进制形式与文本是一样的。关于二进制的读写,都是字符串。我建议你使用直接读写方式;t run under DOS 之类的。二进制文件中也可以包含文本的部分,你还需要更多的学习,但是你依然可以看到其中有一些字符串尽管你按照二进制方式打开文件
遇见高手了!多谢!1. 我用ultraedit 打开正确的输出,发现确实是字符串。不过不是“simulation”而是“s..i..m..u..l..a”这样2. 多谢,以前还不知道3. 我的输出只是在开头有一些字符串,中间99.99%的都是实数4.嗯,我再看看资料。刚用一点点
你的其他99.99%的部分,是正确的二进制么?我想不到为什么会是 s..i..m..u..l..a 这样的,我建议你把代码和生成的文件打包上传到百度网盘,并分享给我。嗯,关于二进制的读写,你可以看我百度空间的日志:
提问者评价
多谢了雪球姐大神。我自己有问题再问你吧!
来自团队:
其他类似问题
为您推荐:
其他1条回答
可能是你引号没用对;,&;'VY&simulation results&Y&quot! gfz write(666)
'W&';DX& ,&,&quot,导致Tec无法正确读取;;DAM&X&quot,&quot,&quot这样的格式输出是二进制没错;TITLE=&quot:write(666) ',&;DY&VX&VARIABLES=&quot,输出代码修改如下,&quot
这样好像不对啊,tecplot提示unexpected end of file in datafile header.
可以不要这一行write(666) 'TITLE=&simulation results&'你可以不用二进制输出,看看输出的结果是什么
字符型数据的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁工具类服务
编辑部专用服务
作者专用服务
一种针对二进制数据的多字符组合无损数据压缩方法
申请(专利)号:
申请日期:
公开(公告)日:
公开(公告)号:
主分类号:
H03M7/42,H03M7/00,H,H03,H03M,H03M7
H03M7/42,H03M7/00,H,H03,H03M,H03M7
申请(专利权)人:
西安理工大学
发明(设计)人:
张毅坤,李啸,黑新宏,华灯鑫,陈浩
主申请人地址:
710048 陕西省西安市金花南路5号
专利代理机构:
西安弘理专利事务所 61214
国别省市代码:
法律状态:
公开,实质审查的生效
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社}

我要回帖

更多关于 php 二进制转字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信