有沒有更有效的方法來做到以下幾點,有什麼感覺錯了嗎?我正在尋找以對數方式進行日誌記錄的最省時的方法。 public bool Read()
{
long count = Interlocked.Increment(ref _count);
switch (count)
{
case 1L:
case 10L:
lgstar(1,0).
lgstar(N,Answer):-
(N = 2**x while x is int ->
N > 1,
N1 is N/2,
logbN(N1,2,A),
Answer is A + 1
).
在上面的程序中,我試圖得到lgstar的答案,當N是一個2的冪數時,即我希望的輸出是lgstar(8, x)
log2(I,E):-
I is 2.0**E,
E is log(I)/log(2).
我正在嘗試使用Prolog來計算功率2被提升到'I'還是2提升到'E'功率等於'I'。我對這種語言非常陌生,根據我的理解,它根據所提供的信息推斷出答案。 Queries:
log2(I,3).
-->false.
log2(I,3.0).
-->I = 8.0.
log2