我需要计算numpy uint64变量中尾随和前导零的数目,所以现在我正在这样做:
<?xml version="1.0" encoding="utf-8"?>
<android.widget.RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_purple"
tools:context=".MainActivity">
<ImageButton
android:id="@+id/single"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:srcCompat="@drawable/imgthree" />
<ImageView
android:id="@+id/withands"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
app:srcCompat="@drawable/imgsix" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="98dp"
android:alpha="0.7"
android:background="@android:color/background_dark"
android:onClick="change"
android:text="find out the person"
android:textColor="@android:color/holo_blue_bright" />
</android.widget.RelativeLayout>
是否有一种更好的方法,而不使用字符串? 优先是速度。谢谢!
答案 0 :(得分:1)
我不确定以下代码的速度。但是您当然可以这样做,而无需使用字符串。
n = np.uint64(100)
i=1
while((n>>np.uint64(i))%2==0):
i+=1
trail_zeros=i
您将值n
右移,直到得到一个奇数。右移次数等于trail_zeros
。
答案 1 :(得分:1)
对于pickle
中的数字,我们可以使用一些算术运算以二进制格式获取前导和尾随零,从而跳过字符串操作-
[0,2**63)
答案 2 :(得分:0)