Redian新闻
>
怎么推迟fingerprint 时期?
avatar
怎么推迟fingerprint 时期?# EB23 - 劳工卡
r*h
1
由于这个数在正整数中没有对应的数,因此很多时候都要单独处理,不过总觉得把这一
个情况单列出来搞得代码不好看。请问一般来说有什么比较好的处理方法吗?
比如说pow(x),我的代码是这样的, 1<<31的情况单独处理了:
double pow(double x, int n) {
if(n == 0) return 1;
if(x==0 || x==1) return x;
if(n < 0){
if(n == (1<<31)){
double tmp = pow(1/x, 1<<15);
return tmp*tmp;
}
else
return pow(1/x, -n);
}
double tmp = pow(x, n>>1);
if(n&1)
return tmp*tmp*x;
else
return tmp*tmp;
}
avatar
f*i
2
怎么推迟fingerprint 时期? 比如能推迟一个月吗
avatar
c*p
3
这种应该考虑用unsigned int或者long

【在 r**h 的大作中提到】
: 由于这个数在正整数中没有对应的数,因此很多时候都要单独处理,不过总觉得把这一
: 个情况单列出来搞得代码不好看。请问一般来说有什么比较好的处理方法吗?
: 比如说pow(x),我的代码是这样的, 1<<31的情况单独处理了:
: double pow(double x, int n) {
: if(n == 0) return 1;
: if(x==0 || x==1) return x;
: if(n < 0){
: if(n == (1<<31)){
: double tmp = pow(1/x, 1<<15);
: return tmp*tmp;

avatar
F*u
4
fingerprint,谢谢
打指纹通知上有reschedule的方法

【在 f********i 的大作中提到】
: 怎么推迟fingerprint 时期? 比如能推迟一个月吗
avatar
b*o
5
边界条件单独处理本来就是考点呀~
另外,我觉得就style来说,有些问题:
(1)最好不要用1<<31这种隐含的表达方式,而是应该用INT_MIN。
(2)1<<15这种表达也要避免。面试官会质疑你就移植性考虑,怎么知道将来int还是
32位呢?
(3)if有时有{,有时没有。style inconsistency是面试的大忌。

【在 r**h 的大作中提到】
: 由于这个数在正整数中没有对应的数,因此很多时候都要单独处理,不过总觉得把这一
: 个情况单列出来搞得代码不好看。请问一般来说有什么比较好的处理方法吗?
: 比如说pow(x),我的代码是这样的, 1<<31的情况单独处理了:
: double pow(double x, int n) {
: if(n == 0) return 1;
: if(x==0 || x==1) return x;
: if(n < 0){
: if(n == (1<<31)){
: double tmp = pow(1/x, 1<<15);
: return tmp*tmp;

avatar
r*h
6
很好的建议,太谢谢了!

【在 b*****o 的大作中提到】
: 边界条件单独处理本来就是考点呀~
: 另外,我觉得就style来说,有些问题:
: (1)最好不要用1<<31这种隐含的表达方式,而是应该用INT_MIN。
: (2)1<<15这种表达也要避免。面试官会质疑你就移植性考虑,怎么知道将来int还是
: 32位呢?
: (3)if有时有{,有时没有。style inconsistency是面试的大忌。

avatar
n*n
7
这不影响复杂度啊,有什么好处理的。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。